[PATCH 06/23] util: alloc: Reimplement VIR_APPEND_ELEMENT_QUIET using virAppendElement

Peter Krempa pkrempa at redhat.com
Wed Aug 4 11:02:26 UTC 2021


For now it was an alias to VIR_APPEND_ELEMENT. Use virAppendElement
directly until VIR_APPEND_ELEMENT is refactored too and we'll be able to
get rid of VIR_APPEND_ELEMENT_QUIET completely.

Signed-off-by: Peter Krempa <pkrempa at redhat.com>
---
 src/util/viralloc.h    |  3 ++-
 tests/virfilewrapper.c |  9 ++-------
 tests/virpcimock.c     | 10 +++-------
 3 files changed, 7 insertions(+), 15 deletions(-)

diff --git a/src/util/viralloc.h b/src/util/viralloc.h
index 70cd721bc7..c5ca8e9929 100644
--- a/src/util/viralloc.h
+++ b/src/util/viralloc.h
@@ -247,7 +247,8 @@ int virDeleteElementsN(void *ptrptr, size_t size, size_t at, size_t *countptr,

 /* Quiet version of macros above */
 #define VIR_APPEND_ELEMENT_QUIET(ptr, count, newelem) \
-    VIR_APPEND_ELEMENT(ptr, count, newelem)
+    virAppendElement(&(ptr), sizeof(*(ptr)), &(count), \
+                     VIR_TYPEMATCH(ptr, &(newelem)), &(newelem), true, false)

 /**
  * VIR_DELETE_ELEMENT:
diff --git a/tests/virfilewrapper.c b/tests/virfilewrapper.c
index 30c63ecf56..3085a190fb 100644
--- a/tests/virfilewrapper.c
+++ b/tests/virfilewrapper.c
@@ -78,13 +78,8 @@ virFileWrapperAddPrefix(const char *prefix,

     init_syms();

-    if (VIR_APPEND_ELEMENT_QUIET(prefixes, nprefixes, prefix) < 0 ||
-        VIR_APPEND_ELEMENT_QUIET(overrides, noverrides, override) < 0) {
-        VIR_FREE(prefixes);
-        VIR_FREE(overrides);
-        fprintf(stderr, "Unable to add path override for '%s'\n", prefix);
-        abort();
-    }
+    VIR_APPEND_ELEMENT_QUIET(prefixes, nprefixes, prefix);
+    VIR_APPEND_ELEMENT_QUIET(overrides, noverrides, override);
 }


diff --git a/tests/virpcimock.c b/tests/virpcimock.c
index be513ad918..de39fc65a4 100644
--- a/tests/virpcimock.c
+++ b/tests/virpcimock.c
@@ -428,9 +428,7 @@ pci_device_create_iommu(const struct pciDevice *dev,
     iommuGroup->iommu = dev->iommuGroup;
     iommuGroup->nDevicesBoundToVFIO = 0; /* No device bound to VFIO by default */

-    if (VIR_APPEND_ELEMENT_QUIET(pciIommuGroups, npciIommuGroups,
-                                 iommuGroup) < 0)
-        ABORT_OOM();
+    VIR_APPEND_ELEMENT_QUIET(pciIommuGroups, npciIommuGroups, iommuGroup);
 }


@@ -544,8 +542,7 @@ pci_device_new_from_stub(const struct pciDevice *data)
     if (pci_device_autobind(dev) < 0)
         ABORT("Unable to bind: %s", devid);

-    if (VIR_APPEND_ELEMENT_QUIET(pciDevices, nPCIDevices, dev) < 0)
-        ABORT_OOM();
+    VIR_APPEND_ELEMENT_QUIET(pciDevices, nPCIDevices, dev);
 }

 static struct pciDevice *
@@ -716,8 +713,7 @@ pci_driver_new(const char *name, ...)
     make_file(driverpath, "bind", NULL, -1);
     make_file(driverpath, "unbind", NULL, -1);

-    if (VIR_APPEND_ELEMENT_QUIET(pciDrivers, nPCIDrivers, driver) < 0)
-        ABORT_OOM();
+    VIR_APPEND_ELEMENT_QUIET(pciDrivers, nPCIDrivers, driver);
 }

 static struct pciDriver *
-- 
2.31.1




More information about the libvir-list mailing list