[libvirt] [PATCH] Stop calling virAllocN directly from ESX code

Daniel P. Berrange berrange at redhat.com
Tue Sep 3 15:56:44 UTC 2013


From: "Daniel P. Berrange" <berrange at redhat.com>

The ESX code has a method esxVI_Alloc which would call
virAllocN directly, instead of using the VIR_ALLOC_N
macro. Remove this method and make the callers just
use VIR_ALLOC as is normal practice.

Signed-off-by: Daniel P. Berrange <berrange at redhat.com>
---
 src/esx/esx_vi.c       | 25 ++++++++-----------------
 src/esx/esx_vi.h       |  3 ---
 src/esx/esx_vi_types.c | 11 +++++++----
 3 files changed, 15 insertions(+), 24 deletions(-)

diff --git a/src/esx/esx_vi.c b/src/esx/esx_vi.c
index 1187bf3..255d0f4 100644
--- a/src/esx/esx_vi.c
+++ b/src/esx/esx_vi.c
@@ -51,8 +51,14 @@
     int                                                                       \
     esxVI_##_type##_Alloc(esxVI_##_type **ptrptr)                             \
     {                                                                         \
-        return esxVI_Alloc((void **)ptrptr, sizeof(esxVI_##_type),            \
-                           __FILE__, __FUNCTION__, __LINE__);                 \
+        if (ptrptr == NULL || *ptrptr != NULL) {                              \
+            virReportError(VIR_ERR_INTERNAL_ERROR, "%s", _("Invalid argument")); \
+            return -1;                                                  \
+        }                                                               \
+                                                                        \
+        if (VIR_ALLOC(*ptrptr) < 0)                                     \
+            return -1;                                                  \
+        return 0;                                                       \
     }
 
 
@@ -1736,21 +1742,6 @@ esxVI_List_Deserialize(xmlNodePtr node, esxVI_List **list,
  */
 
 int
-esxVI_Alloc(void **ptrptr, size_t size, const char *file,
-            const char *function, size_t linenr)
-{
-    if (ptrptr == NULL || *ptrptr != NULL) {
-        virReportError(VIR_ERR_INTERNAL_ERROR, "%s", _("Invalid argument"));
-        return -1;
-    }
-
-    return virAllocN(ptrptr, size, 1, true, VIR_FROM_THIS,
-                     file, function, linenr);
-}
-
-
-
-int
 esxVI_BuildSelectSet(esxVI_SelectionSpec **selectSet,
                      const char *name, const char *type,
                      const char *path, const char *selectSetNames)
diff --git a/src/esx/esx_vi.h b/src/esx/esx_vi.h
index c1612e2..aeee953 100644
--- a/src/esx/esx_vi.h
+++ b/src/esx/esx_vi.h
@@ -330,9 +330,6 @@ int esxVI_List_Deserialize(xmlNodePtr node, esxVI_List **list,
  *  - 'get' functions get information from a local object
  */
 
-int esxVI_Alloc(void **ptrptr, size_t size, const char *file,
-                const char *function, size_t linenr);
-
 int esxVI_BuildSelectSet
       (esxVI_SelectionSpec **selectSet, const char *name,
        const char *type, const char *path, const char *selectSetNames);
diff --git a/src/esx/esx_vi_types.c b/src/esx/esx_vi_types.c
index 14caeeb..03df444 100644
--- a/src/esx/esx_vi_types.c
+++ b/src/esx/esx_vi_types.c
@@ -43,10 +43,13 @@
     int                                                                       \
     esxVI_##__type##_Alloc(esxVI_##__type **ptrptr)                           \
     {                                                                         \
-        if (esxVI_Alloc((void **)ptrptr, sizeof(esxVI_##__type),              \
-                        __FILE__, __FUNCTION__, __LINE__) < 0) {              \
-            return -1;                                                        \
-        }                                                                     \
+        if (ptrptr == NULL || *ptrptr != NULL) {                              \
+            virReportError(VIR_ERR_INTERNAL_ERROR, "%s", _("Invalid argument")); \
+            return -1;                                                  \
+        }                                                               \
+                                                                        \
+        if (VIR_ALLOC(*ptrptr) < 0)                                     \
+            return -1;                                                  \
                                                                               \
         (*ptrptr)->_type = esxVI_Type_##__type;                               \
                                                                               \
-- 
1.8.3.1




More information about the libvir-list mailing list