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