On Wed, Apr 21, 2021 at 15:33:31 +0200, Tim Wiederhake wrote:
Signed-off-by: Tim Wiederhake <twiederh(a)redhat.com>
---
src/conf/domain_conf.c | 48 ++++++++++++------------------------------
1 file changed, 13 insertions(+), 35 deletions(-)
diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c
index 9e968c087d..1878d9ed9d 100644
--- a/src/conf/domain_conf.c
+++ b/src/conf/domain_conf.c
@@ -15855,8 +15855,6 @@ virDomainVsockDefParseXML(virDomainXMLOption *xmlopt,
{
VIR_XPATH_NODE_AUTORESTORE(ctxt)
xmlNodePtr cid;
- int val;
- g_autofree char *tmp = NULL;
g_autoptr(virDomainVsockDef) vsock = NULL;
ctxt->node = node;
@@ -15864,49 +15862,29 @@ virDomainVsockDefParseXML(virDomainXMLOption *xmlopt,
if (!(vsock = virDomainVsockDefNew(xmlopt)))
return NULL;
- if ((tmp = virXMLPropString(node, "model"))) {
- if ((val = virDomainVsockModelTypeFromString(tmp)) < 0) {
- virReportError(VIR_ERR_XML_ERROR, _("unknown vsock model: %s"),
tmp);
- return NULL;
- }
- vsock->model = val;
- }
-
- cid = virXPathNode("./cid", ctxt);
+ if (virXMLPropEnum(node, "model", virDomainVsockModelTypeFromString,
+ VIR_XML_PROP_NONE, &vsock->model) < 0)
+ return NULL;
- VIR_FREE(tmp);
- if (cid) {
- if ((tmp = virXMLPropString(cid, "address"))) {
- if (virStrToLong_uip(tmp, NULL, 10, &vsock->guest_cid) < 0 ||
- vsock->guest_cid == 0) {
- virReportError(VIR_ERR_XML_DETAIL,
- _("'cid' attribute must be a positive
number: %s"),
- tmp);
- return NULL;
- }
- }
+ if ((cid = virXPathNode("./cid", ctxt))) {
+ if (virXMLPropUInt(cid, "address", 10,
+ VIR_XML_PROP_NONE | VIR_XML_PROP_NONZERO,
'or'-ing something to VIR_XML_PROP_NONE doesn't make sense.
+ &vsock->guest_cid) < 0)
+ return NULL;
- VIR_FREE(tmp);
- if ((tmp = virXMLPropString(cid, "auto"))) {
- val = virTristateBoolTypeFromString(tmp);
- if (val <= 0) {
- virReportError(VIR_ERR_XML_DETAIL,
- _("'auto' attribute can be 'yes' or
'no': %s"),
- tmp);
- return NULL;
- }
- vsock->auto_cid = val;
- }
+ if (virXMLPropTristateBool(cid, "auto", VIR_XML_PROP_NONE,
+ &vsock->auto_cid) < 0)
+ return NULL;
}
- if (virDomainDeviceInfoParseXML(xmlopt, node, ctxt, &vsock->info, flags) <
0)
+ if (virDomainDeviceInfoParseXML(xmlopt, node, ctxt, &vsock->info,
+ flags) < 0)
This is an unrelated change.
return NULL;
I'll fix both before pushing.