[dbus PATCH 7/9] domain: Introduce virtDBusDomainGVariantToMountpoints helper

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Signed-off-by: Pavel Hrdina <phrdina@xxxxxxxxxx>
---
 src/domain.c | 36 +++++++++++++++++++-----------------
 1 file changed, 19 insertions(+), 17 deletions(-)

diff --git a/src/domain.c b/src/domain.c
index b361aa6..c6dc744 100644
--- a/src/domain.c
+++ b/src/domain.c
@@ -109,6 +109,22 @@ virtDBusDomainMemoryStatsToGVariant(virDomainMemoryStatPtr stats,
     return g_variant_builder_end(&builder);
 }
 
+static void
+virtDBusDomainGVariantToMountpoints(GVariantIter *iter,
+                                    const gchar ***mountpoints,
+                                    guint *nmountpoints)
+{
+    const gchar **tmp;
+
+    *nmountpoints = g_variant_iter_n_children(iter);
+    if (*nmountpoints > 0) {
+        *mountpoints = g_new0(const gchar*, *nmountpoints);
+        tmp = *mountpoints;
+        while (g_variant_iter_next(iter, "&s", tmp))
+            tmp++;
+    }
+}
+
 static virDomainPtr
 virtDBusDomainGetVirDomain(virtDBusConnect *connect,
                            const gchar *objectPath,
@@ -783,21 +799,14 @@ virtDBusDomainFSFreeze(GVariant *inArgs,
     virtDBusConnect *connect = userData;
     g_autoptr(virDomain) domain = NULL;
     g_autofree const gchar **mountpoints = NULL;
-    const gchar **tmp;
     g_autoptr(GVariantIter) iter;
-    gsize nmountpoints = 0;
+    guint nmountpoints;
     guint flags;
     gint ret;
 
     g_variant_get(inArgs, "(asu)", &iter, &flags);
 
-    nmountpoints = g_variant_iter_n_children(iter);
-    if (nmountpoints > 0) {
-        mountpoints = g_new0(const gchar*, nmountpoints);
-        tmp = mountpoints;
-        while (g_variant_iter_next(iter, "&s", tmp))
-            tmp++;
-    }
+    virtDBusDomainGVariantToMountpoints(iter, &mountpoints, &nmountpoints);
 
     domain = virtDBusDomainGetVirDomain(connect, objectPath, error);
     if (!domain)
@@ -822,7 +831,6 @@ virtDBusDomainFSThaw(GVariant *inArgs,
     virtDBusConnect *connect = userData;
     g_autoptr(virDomain) domain = NULL;
     g_autofree const gchar **mountpoints = NULL;
-    const gchar **tmp;
     g_autoptr(GVariantIter) iter;
     guint nmountpoints;
     guint flags;
@@ -830,13 +838,7 @@ virtDBusDomainFSThaw(GVariant *inArgs,
 
     g_variant_get(inArgs, "(asu)", &iter, &flags);
 
-    nmountpoints = g_variant_iter_n_children(iter);
-    if (nmountpoints > 0) {
-        mountpoints = g_new0(const gchar*, nmountpoints);
-        tmp = mountpoints;
-        while (g_variant_iter_next(iter, "&s", tmp))
-            tmp++;
-    }
+    virtDBusDomainGVariantToMountpoints(iter, &mountpoints, &nmountpoints);
 
     domain = virtDBusDomainGetVirDomain(connect, objectPath, error);
     if (!domain)
-- 
2.14.3

--
libvir-list mailing list
libvir-list@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/libvir-list



[Index of Archives]     [Virt Tools]     [Libvirt Users]     [Lib OS Info]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [KDE Users]     [Fedora Tools]

  Powered by Linux