Simplify the code by using the modern helpers.
Signed-off-by: Peter Krempa <pkrempa@redhat.com>
---
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