Signed-off-by: Tim Wiederhake <twiederh(a)redhat.com>
---
src/conf/domain_conf.c | 18 ++++++------------
1 file changed, 6 insertions(+), 12 deletions(-)
diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c
index fe35a3960e..0c4f7ab879 100644
--- a/src/conf/domain_conf.c
+++ b/src/conf/domain_conf.c
@@ -14264,8 +14264,8 @@ virDomainMemballoonDefParseXML(virDomainXMLOptionPtr xmlopt,
VIR_XPATH_NODE_AUTORESTORE(ctxt)
unsigned int period = 0;
g_autofree char *model = NULL;
- g_autofree char *freepage_reporting = NULL;
- g_autofree char *deflate = NULL;
+ virTristateSwitch autodeflate = VIR_TRISTATE_SWITCH_ABSENT;
+ virTristateSwitch free_page_reporting = VIR_TRISTATE_SWITCH_ABSENT;
def = g_new0(virDomainMemballoonDef, 1);
@@ -14282,19 +14282,13 @@ virDomainMemballoonDefParseXML(virDomainXMLOptionPtr xmlopt,
goto error;
}
- if ((deflate = virXMLPropString(node, "autodeflate")) &&
- (def->autodeflate = virTristateSwitchTypeFromString(deflate)) <= 0) {
- virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
- _("invalid autodeflate attribute value '%s'"),
deflate);
+ if (virXMLPropOnOff(node, "autodeflate", &autodeflate) < 0)
goto error;
- }
+ def->autodeflate = autodeflate;
- if ((freepage_reporting = virXMLPropString(node, "freePageReporting"))
&&
- (def->free_page_reporting =
virTristateSwitchTypeFromString(freepage_reporting)) <= 0) {
- virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
- _("invalid freePageReporting attribute value
'%s'"), freepage_reporting);
+ if (virXMLPropOnOff(node, "freePageReporting", &free_page_reporting)
< 0)
goto error;
- }
+ def->free_page_reporting = free_page_reporting;
ctxt->node = node;
if (virXPathUInt("string(./stats/@period)", ctxt, &period) < -1) {
--
2.26.2