[PATCH 5/8] conf: Use virXMLPropEnum more when parsing TPM
Peter Krempa
pkrempa at redhat.com
Mon Aug 1 11:20:24 UTC 2022
On Mon, Jul 18, 2022 at 11:30:47 +0200, Michal Privoznik wrote:
> When parsing a TPM device plenty of virXMLPropString() +
> enum2int() combos are used. These can be replaced with
> virXMLPropEnum().
>
> Signed-off-by: Michal Privoznik <mprivozn at redhat.com>
> ---
> src/conf/domain_conf.c | 39 ++++++++++++---------------------------
> src/conf/domain_conf.h | 6 +++---
> src/qemu/qemu_command.c | 2 +-
> src/qemu/qemu_domain.c | 2 +-
> 4 files changed, 17 insertions(+), 32 deletions(-)
>
> diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c
> index 28f0e75e60..6263d90fdb 100644
> --- a/src/conf/domain_conf.c
> +++ b/src/conf/domain_conf.c
[...]
> @@ -10358,13 +10355,11 @@ virDomainTPMDefParseXML(virDomainXMLOption *xmlopt,
>
> def = g_new0(virDomainTPMDef, 1);
>
> - model = virXMLPropString(node, "model");
> - if (model != NULL &&
> - (def->model = virDomainTPMModelTypeFromString(model)) <= 0) {
> - virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
> - _("Unknown TPM frontend model '%s'"), model);
> + if (virXMLPropEnum(node, "model",
> + virDomainTPMModelTypeFromString,
> + VIR_XML_PROP_NONZERO,
^^^
> + &def->model) < 0)
> goto error;
> - }
>
> ctxt->node = node;
[...]
> @@ -10407,14 +10395,11 @@ virDomainTPMDefParseXML(virDomainXMLOption *xmlopt,
> def->data.passthrough.source->data.file.path = g_steal_pointer(&path);
> break;
> case VIR_DOMAIN_TPM_TYPE_EMULATOR:
> - version = virXMLPropString(backends[0], "version");
> - if (version &&
> - (def->data.emulator.version = virDomainTPMVersionTypeFromString(version)) <= 0) {
> - virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
> - _("Unsupported TPM version '%s'"),
> - version);
> + if (virXMLPropEnum(backends[0], "version",
> + virDomainTPMVersionTypeFromString,
> + VIR_XML_PROP_NONZERO,
^^^
> + &def->data.emulator.version) < 0)
> goto error;
> - }
>
> if (!(def->data.emulator.source = virDomainChrSourceDefNew(xmlopt)))
> goto error;
Lines marked as '^^^' will likely need to be adapted per reasons in
previous replies. Other than that:
Reviewed-by: Peter Krempa <pkrempa at redhat.com>
More information about the libvir-list
mailing list