[PATCH 2/3] qemuDomainGetLaunchSecurityInfo: 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 | 42 ++++++++++++++----------------------------
 1 file changed, 14 insertions(+), 28 deletions(-)

diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c
index 45bb3c09aa..a40db1dd2e 100644
--- a/src/qemu/qemu_driver.c
+++ b/src/qemu/qemu_driver.c
@@ -18948,15 +18948,13 @@ qemuNodeGetSEVInfo(virConnectPtr conn,

 static int
 qemuDomainGetSEVInfo(virDomainObj *vm,
-                     virTypedParameterPtr *params,
-                     int *nparams,
+                     virTypedParamList *list,
                      unsigned int flags)
 {
     int ret = -1;
     int rv;
     g_autofree char *tmp = NULL;
     qemuMonitorSEVInfo info = { };
-    int maxpar = 0;

     virCheckFlags(VIR_TYPED_PARAM_STRING_OKAY, -1);

@@ -18981,36 +18979,20 @@ qemuDomainGetSEVInfo(virDomainObj *vm,
     if (rv < 0)
         goto endjob;

-    if (virTypedParamsAddString(params, nparams, &maxpar,
-                                VIR_DOMAIN_LAUNCH_SECURITY_SEV_MEASUREMENT,
-                                tmp) < 0)
-        goto endjob;
-    if (virTypedParamsAddUInt(params, nparams, &maxpar,
-                              VIR_DOMAIN_LAUNCH_SECURITY_SEV_API_MAJOR,
-                              info.apiMajor) < 0)
-        goto endjob;
-    if (virTypedParamsAddUInt(params, nparams, &maxpar,
-                              VIR_DOMAIN_LAUNCH_SECURITY_SEV_API_MINOR,
-                              info.apiMinor) < 0)
-        goto endjob;
-    if (virTypedParamsAddUInt(params, nparams, &maxpar,
-                              VIR_DOMAIN_LAUNCH_SECURITY_SEV_BUILD_ID,
-                              info.buildID) < 0)
-        goto endjob;
+    virTypedParamListAddString(list, tmp, VIR_DOMAIN_LAUNCH_SECURITY_SEV_MEASUREMENT);
+    virTypedParamListAddUInt(list, info.apiMajor, VIR_DOMAIN_LAUNCH_SECURITY_SEV_API_MAJOR);
+    virTypedParamListAddUInt(list, info.apiMinor, VIR_DOMAIN_LAUNCH_SECURITY_SEV_API_MINOR);
+    virTypedParamListAddUInt(list, info.buildID, VIR_DOMAIN_LAUNCH_SECURITY_SEV_BUILD_ID);

     switch (info.type) {
     case QEMU_MONITOR_SEV_GUEST_TYPE_SEV:
-        if (virTypedParamsAddUInt(params, nparams, &maxpar,
-                                  VIR_DOMAIN_LAUNCH_SECURITY_SEV_POLICY,
-                                  info.data.sev.policy) < 0)
-            goto endjob;
+        virTypedParamListAddUInt(list, info.data.sev.policy,
+                                 VIR_DOMAIN_LAUNCH_SECURITY_SEV_POLICY);
         break;

     case QEMU_MONITOR_SEV_GUEST_TYPE_SEV_SNP:
-        if (virTypedParamsAddULLong(params, nparams, &maxpar,
-                                    VIR_DOMAIN_LAUNCH_SECURITY_SEV_SNP_POLICY,
-                                    info.data.sev_snp.snp_policy) < 0)
-            goto endjob;
+        virTypedParamListAddULLong(list, info.data.sev_snp.snp_policy,
+                                   VIR_DOMAIN_LAUNCH_SECURITY_SEV_SNP_POLICY);
         break;

     case QEMU_MONITOR_SEV_GUEST_TYPE_LAST:
@@ -19031,6 +19013,7 @@ qemuDomainGetLaunchSecurityInfo(virDomainPtr domain,
                                 int *nparams,
                                 unsigned int flags)
 {
+    g_autoptr(virTypedParamList) list = virTypedParamListNew();
     virDomainObj *vm;
     int ret = -1;

@@ -19048,7 +19031,7 @@ qemuDomainGetLaunchSecurityInfo(virDomainPtr domain,
     switch (vm->def->sec->sectype) {
     case VIR_DOMAIN_LAUNCH_SECURITY_SEV:
     case VIR_DOMAIN_LAUNCH_SECURITY_SEV_SNP:
-        if (qemuDomainGetSEVInfo(vm, params, nparams, flags) < 0)
+        if (qemuDomainGetSEVInfo(vm, list, flags) < 0)
             goto cleanup;
         break;
     case VIR_DOMAIN_LAUNCH_SECURITY_PV:
@@ -19059,6 +19042,9 @@ qemuDomainGetLaunchSecurityInfo(virDomainPtr domain,
         goto cleanup;
     }

+    if (virTypedParamListSteal(list, params, nparams) < 0)
+        goto cleanup;
+
     ret = 0;

  cleanup:
-- 
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