[PATCH 3/3] qemuNodeGetSEVInfo: Use virTypedParamList to construct return value

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

 



Simplify the code by using the modern helpers.

Signed-off-by: Peter Krempa <pkrempa@xxxxxxxxxx>
---
 src/qemu/qemu_driver.c | 63 +++++++++++-------------------------------
 1 file changed, 16 insertions(+), 47 deletions(-)

diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c
index a40db1dd2e..2cabc7ee2f 100644
--- a/src/qemu/qemu_driver.c
+++ b/src/qemu/qemu_driver.c
@@ -18859,58 +18859,22 @@ qemuDomainSetLifecycleAction(virDomainPtr dom,
 }


-static int
+static void
 qemuGetSEVInfoToParams(virQEMUCaps *qemuCaps,
-                       virTypedParameterPtr *params,
-                       int *nparams,
-                       unsigned int flags)
+                       virTypedParamList *list)
 {
-    int maxpar = 0;
-    int n = 0;
     virSEVCapability *sev = virQEMUCapsGetSEVCapabilities(qemuCaps);
-    virTypedParameterPtr sevParams = NULL;
-
-    virCheckFlags(VIR_TYPED_PARAM_STRING_OKAY, -1);
-
-    if (virTypedParamsAddString(&sevParams, &n, &maxpar,
-                                VIR_NODE_SEV_PDH, sev->pdh) < 0)
-        return -1;
-
-    if (virTypedParamsAddString(&sevParams, &n, &maxpar,
-                                VIR_NODE_SEV_CERT_CHAIN, sev->cert_chain) < 0)
-        goto cleanup;
-
-    if ((sev->cpu0_id != NULL) &&
-       (virTypedParamsAddString(&sevParams, &n, &maxpar,
-                                VIR_NODE_SEV_CPU0_ID, sev->cpu0_id) < 0))
-        goto cleanup;

-    if (virTypedParamsAddUInt(&sevParams, &n, &maxpar,
-                              VIR_NODE_SEV_CBITPOS, sev->cbitpos) < 0)
-        goto cleanup;
-
-    if (virTypedParamsAddUInt(&sevParams, &n, &maxpar,
-                              VIR_NODE_SEV_REDUCED_PHYS_BITS,
-                              sev->reduced_phys_bits) < 0)
-        goto cleanup;
-
-    if (virTypedParamsAddUInt(&sevParams, &n, &maxpar,
-                              VIR_NODE_SEV_MAX_GUESTS,
-                              sev->max_guests) < 0)
-        goto cleanup;
-
-    if (virTypedParamsAddUInt(&sevParams, &n, &maxpar,
-                              VIR_NODE_SEV_MAX_ES_GUESTS,
-                              sev->max_es_guests) < 0)
-        goto cleanup;
+    virTypedParamListAddString(list, sev->pdh, VIR_NODE_SEV_PDH);
+    virTypedParamListAddString(list, sev->cert_chain, VIR_NODE_SEV_CERT_CHAIN);

-    *params = g_steal_pointer(&sevParams);
-    *nparams = n;
-    return 0;
+    if (sev->cpu0_id != NULL)
+        virTypedParamListAddString(list, sev->cpu0_id, VIR_NODE_SEV_CPU0_ID);

- cleanup:
-    virTypedParamsFree(sevParams, n);
-    return -1;
+    virTypedParamListAddUInt(list, sev->cbitpos, VIR_NODE_SEV_CBITPOS);
+    virTypedParamListAddUInt(list, sev->reduced_phys_bits, VIR_NODE_SEV_REDUCED_PHYS_BITS);
+    virTypedParamListAddUInt(list, sev->max_guests, VIR_NODE_SEV_MAX_GUESTS);
+    virTypedParamListAddUInt(list, sev->max_es_guests, VIR_NODE_SEV_MAX_ES_GUESTS);
 }


@@ -18920,9 +18884,12 @@ qemuNodeGetSEVInfo(virConnectPtr conn,
                    int *nparams,
                    unsigned int flags)
 {
+    g_autoptr(virTypedParamList) list = virTypedParamListNew();
     virQEMUDriver *driver = conn->privateData;
     g_autoptr(virQEMUCaps) qemucaps = NULL;

+    virCheckFlags(VIR_TYPED_PARAM_STRING_OKAY, -1);
+
     if (virNodeGetSevInfoEnsureACL(conn) < 0)
         return -1;

@@ -18939,7 +18906,9 @@ qemuNodeGetSEVInfo(virConnectPtr conn,
         return -1;
     }

-    if (qemuGetSEVInfoToParams(qemucaps, params, nparams, flags) < 0)
+    qemuGetSEVInfoToParams(qemucaps, list);
+
+    if (virTypedParamListSteal(list, params, nparams) < 0)
         return -1;

     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