[PATCH 06/10] qemuAgentGetTimezone: Convert to virTypedParamList

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

 



Signed-off-by: Peter Krempa <pkrempa@xxxxxxxxxx>
---
 src/qemu/qemu_agent.c  | 14 ++++----------
 src/qemu/qemu_agent.h  |  4 +---
 src/qemu/qemu_driver.c |  2 +-
 tests/qemuagenttest.c  | 39 ++++++++++++++++-----------------------
 4 files changed, 22 insertions(+), 37 deletions(-)

diff --git a/src/qemu/qemu_agent.c b/src/qemu/qemu_agent.c
index 27efb4b389..e158b3d7ab 100644
--- a/src/qemu/qemu_agent.c
+++ b/src/qemu/qemu_agent.c
@@ -2311,9 +2311,7 @@ qemuAgentGetOSInfo(qemuAgent *agent,
  */
 int
 qemuAgentGetTimezone(qemuAgent *agent,
-                     virTypedParameterPtr *params,
-                     int *nparams,
-                     int *maxparams,
+                     virTypedParamList *list,
                      bool report_unsupported)
 {
     g_autoptr(virJSONValue) cmd = NULL;
@@ -2336,10 +2334,8 @@ qemuAgentGetTimezone(qemuAgent *agent,
         return -1;
     }

-    if ((name = virJSONValueObjectGetString(data, "zone")) &&
-        virTypedParamsAddString(params, nparams, maxparams,
-                                "timezone.name", name) < 0)
-        return -1;
+    if ((name = virJSONValueObjectGetString(data, "zone")))
+        virTypedParamListAddString(list, name, "timezone.name");

     if ((virJSONValueObjectGetNumberInt(data, "offset", &offset)) < 0) {
         virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
@@ -2347,9 +2343,7 @@ qemuAgentGetTimezone(qemuAgent *agent,
         return -1;
     }

-    if (virTypedParamsAddInt(params, nparams, maxparams,
-                             "timezone.offset", offset) < 0)
-        return -1;
+    virTypedParamListAddInt(list, offset, "timezone.offset");

     return 0;
 }
diff --git a/src/qemu/qemu_agent.h b/src/qemu/qemu_agent.h
index cd17a98d39..3f25f0e5a6 100644
--- a/src/qemu/qemu_agent.h
+++ b/src/qemu/qemu_agent.h
@@ -169,9 +169,7 @@ int qemuAgentGetOSInfo(qemuAgent *mon,
                        bool report_unsupported);

 int qemuAgentGetTimezone(qemuAgent *mon,
-                         virTypedParameterPtr *params,
-                         int *nparams,
-                         int *maxparams,
+                         virTypedParamList *list,
                          bool report_unsupported);

 void qemuAgentSetResponseTimeout(qemuAgent *mon,
diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c
index 0d88f182b8..53be46ce0a 100644
--- a/src/qemu/qemu_driver.c
+++ b/src/qemu/qemu_driver.c
@@ -19408,7 +19408,7 @@ qemuDomainGetGuestInfo(virDomainPtr dom,
         goto exitagent;

     if (supportedTypes & VIR_DOMAIN_GUEST_INFO_TIMEZONE &&
-        qemuAgentGetTimezone(agent, params, nparams, &maxparams, report_unsupported) == -1)
+        qemuAgentGetTimezone(agent, list, report_unsupported) == -1)
         goto exitagent;

     if (supportedTypes & VIR_DOMAIN_GUEST_INFO_HOSTNAME &&
diff --git a/tests/qemuagenttest.c b/tests/qemuagenttest.c
index 566571cf11..5fd4d70a70 100644
--- a/tests/qemuagenttest.c
+++ b/tests/qemuagenttest.c
@@ -1291,57 +1291,54 @@ testQemuAgentTimezone(const void *data)
 {
     virDomainXMLOption *xmlopt = (virDomainXMLOption *)data;
     g_autoptr(qemuMonitorTest) test = qemuMonitorTestNewAgent(xmlopt);
-    virTypedParameterPtr params = NULL;
-    int nparams = 0;
-    int ret = -1;

     if (!test)
         return -1;

     if (qemuMonitorTestAddAgentSyncResponse(test) < 0)
-        goto cleanup;
+        return -1;

 #define VALIDATE_TIMEZONE(response_, expected_name_, expected_offset_) \
     do { \
-        int maxparams_ = 0; \
+        g_autoptr(virTypedParamList) list = virTypedParamListNew(); \
+        virTypedParameterPtr params; \
+        size_t nparams; \
         const char *name_ = NULL; \
         int offset_; \
         if (qemuMonitorTestAddItem(test, "guest-get-timezone", \
                                    response_) < 0) \
-            goto cleanup; \
-        virTypedParamsFree(params, nparams); \
-        params = NULL; \
-        nparams = 0; \
-        if (qemuAgentGetTimezone(qemuMonitorTestGetAgent(test), \
-                                 &params, &nparams, &maxparams_, true) < 0) \
-            goto cleanup; \
+            return -1; \
+        if (qemuAgentGetTimezone(qemuMonitorTestGetAgent(test), list, true) < 0) \
+            return -1; \
+        if (virTypedParamListFetch(list, &params, &nparams) < 0) \
+            return -1; \
         if (nparams != 2) { \
             virReportError(VIR_ERR_INTERNAL_ERROR, \
-                           "Expected 2 params, got %d", nparams); \
-            goto cleanup; \
+                           "Expected 2 params, got %zu", nparams); \
+            return -1; \
         } \
         if (virTypedParamsGetString(params, nparams, \
                                     "timezone.name", &name_) < 0) { \
             virReportError(VIR_ERR_INTERNAL_ERROR, "missing param '%s'", \
                            "tiemzone.name"); \
-            goto cleanup; \
+            return -1; \
         } \
         if (STRNEQ(name_, expected_name_)) { \
             virReportError(VIR_ERR_INTERNAL_ERROR, \
                            "Expected name '%s', got '%s'", expected_name_, name_); \
-            goto cleanup; \
+            return -1; \
         } \
         if (virTypedParamsGetInt(params, nparams, \
                                  "timezone.offset", &offset_) < 0) { \
             virReportError(VIR_ERR_INTERNAL_ERROR, "missing param '%s'", \
                            "tiemzone.offset"); \
-            goto cleanup; \
+            return -1; \
         } \
         if (offset_ != expected_offset_) { \
             virReportError(VIR_ERR_INTERNAL_ERROR, \
                            "Expected offset '%i', got '%i'", offset_, \
                            expected_offset_); \
-            goto cleanup; \
+            return -1; \
         } \
     } while (0)

@@ -1350,11 +1347,7 @@ testQemuAgentTimezone(const void *data)
     VALIDATE_TIMEZONE(testQemuAgentTimezoneResponse3, "NDT", -9000);
     VALIDATE_TIMEZONE(testQemuAgentTimezoneResponse4, "PDT", -25200);

-    ret = 0;
-
- cleanup:
-    virTypedParamsFree(params, nparams);
-    return ret;
+    return 0;
 }


-- 
2.48.1




[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