[libvirt] [PATCH v1 08/31] virpci: Introduce virPCIDeviceAddressCopy

Michal Privoznik mprivozn at redhat.com
Thu Jul 11 15:53:55 UTC 2019


This helper is cleaner than plain memcpy() because one doesn't
have to look into virPCIDeviceAddress struct to see if it
contains any strings / pointers.

Signed-off-by: Michal Privoznik <mprivozn at redhat.com>
---
 src/libvirt_private.syms | 1 +
 src/util/virpci.c        | 6 ++++++
 src/util/virpci.h        | 2 ++
 3 files changed, 9 insertions(+)

diff --git a/src/libvirt_private.syms b/src/libvirt_private.syms
index 02d5b7acce..6cef8d20fe 100644
--- a/src/libvirt_private.syms
+++ b/src/libvirt_private.syms
@@ -2612,6 +2612,7 @@ virObjectUnref;
 
 # util/virpci.h
 virPCIDeviceAddressAsString;
+virPCIDeviceAddressCopy;
 virPCIDeviceAddressEqual;
 virPCIDeviceAddressGetIOMMUGroupAddresses;
 virPCIDeviceAddressGetIOMMUGroupNum;
diff --git a/src/util/virpci.c b/src/util/virpci.c
index 59f478dd41..03ce651f40 100644
--- a/src/util/virpci.c
+++ b/src/util/virpci.c
@@ -1730,6 +1730,12 @@ virPCIDeviceAddressEqual(const virPCIDeviceAddress *addr1,
     return false;
 }
 
+void virPCIDeviceAddressCopy(virPCIDeviceAddressPtr dst,
+                             const virPCIDeviceAddress *src)
+{
+    memcpy(dst, src, sizeof(*src));
+}
+
 char *
 virPCIDeviceAddressAsString(const virPCIDeviceAddress *addr)
 {
diff --git a/src/util/virpci.h b/src/util/virpci.h
index 1efd8b77ed..72e90a1ef3 100644
--- a/src/util/virpci.h
+++ b/src/util/virpci.h
@@ -233,6 +233,8 @@ bool virPCIDeviceAddressIsEmpty(const virPCIDeviceAddress *addr);
 
 bool virPCIDeviceAddressEqual(const virPCIDeviceAddress *addr1,
                               const virPCIDeviceAddress *addr2);
+void virPCIDeviceAddressCopy(virPCIDeviceAddressPtr dst,
+                             const virPCIDeviceAddress *src);
 
 char *virPCIDeviceAddressAsString(const virPCIDeviceAddress *addr)
       ATTRIBUTE_NONNULL(1);
-- 
2.21.0




More information about the libvir-list mailing list