提交 8c53938e 编写于 作者: R Rafael Fonseca 提交者: Michal Privoznik

conf: use virStringParseYesNo

Use existing function built for this exact purpose.
Signed-off-by: NRafael Fonseca <r4f4rfs@gmail.com>
Reviewed-by: NMichal Privoznik <mprivozn@redhat.com>
上级 ea903036
...@@ -9203,7 +9203,7 @@ virSecurityDeviceLabelDefParseXML(virSecurityDeviceLabelDefPtr **seclabels_rtn, ...@@ -9203,7 +9203,7 @@ virSecurityDeviceLabelDefParseXML(virSecurityDeviceLabelDefPtr **seclabels_rtn,
labelskip = virXMLPropString(list[i], "labelskip"); labelskip = virXMLPropString(list[i], "labelskip");
seclabels[i]->labelskip = false; seclabels[i]->labelskip = false;
if (labelskip && !(flags & VIR_DOMAIN_DEF_PARSE_INACTIVE)) if (labelskip && !(flags & VIR_DOMAIN_DEF_PARSE_INACTIVE))
seclabels[i]->labelskip = STREQ(labelskip, "yes"); ignore_value(virStringParseYesNo(labelskip, &seclabels[i]->labelskip));
VIR_FREE(labelskip); VIR_FREE(labelskip);
ctxt->node = list[i]; ctxt->node = list[i];
...@@ -12354,16 +12354,14 @@ virDomainNetDefParseXML(virDomainXMLOptionPtr xmlopt, ...@@ -12354,16 +12354,14 @@ virDomainNetDefParseXML(virDomainXMLOptionPtr xmlopt,
goto error; goto error;
if (managed_tap) { if (managed_tap) {
if (STREQ(managed_tap, "no")) { bool state = false;
def->managed_tap = VIR_TRISTATE_BOOL_NO; if (virStringParseYesNo(managed_tap, &state) < 0) {
} else if (STREQ(managed_tap, "yes")) {
def->managed_tap = VIR_TRISTATE_BOOL_YES;
} else {
virReportError(VIR_ERR_XML_ERROR, virReportError(VIR_ERR_XML_ERROR,
_("invalid 'managed' value '%s'"), _("invalid 'managed' value '%s'"),
managed_tap); managed_tap);
goto error; goto error;
} }
def->managed_tap = virTristateBoolFromBool(state);
} }
if (def->managed_tap != VIR_TRISTATE_BOOL_NO && ifname && if (def->managed_tap != VIR_TRISTATE_BOOL_NO && ifname &&
...@@ -13887,15 +13885,13 @@ virDomainTimerDefParseXML(xmlNodePtr node, ...@@ -13887,15 +13885,13 @@ virDomainTimerDefParseXML(xmlNodePtr node,
def->present = -1; /* unspecified */ def->present = -1; /* unspecified */
if ((present = virXMLPropString(node, "present")) != NULL) { if ((present = virXMLPropString(node, "present")) != NULL) {
if (STREQ(present, "yes")) { bool state = false;
def->present = 1; if (virStringParseYesNo(present, &state) < 0) {
} else if (STREQ(present, "no")) {
def->present = 0;
} else {
virReportError(VIR_ERR_INTERNAL_ERROR, virReportError(VIR_ERR_INTERNAL_ERROR,
_("unknown timer present value '%s'"), present); _("unknown timer present value '%s'"), present);
goto error; goto error;
} }
def->present = state ? 1 : 0;
} }
def->tickpolicy = -1; def->tickpolicy = -1;
...@@ -18611,10 +18607,9 @@ virDomainDefParseBootXML(xmlXPathContextPtr ctxt, ...@@ -18611,10 +18607,9 @@ virDomainDefParseBootXML(xmlXPathContextPtr ctxt,
if ((node = virXPathNode("./os/bios[1]", ctxt))) { if ((node = virXPathNode("./os/bios[1]", ctxt))) {
tmp = virXMLPropString(node, "useserial"); tmp = virXMLPropString(node, "useserial");
if (tmp) { if (tmp) {
if (STREQ(tmp, "yes")) bool state = false;
def->os.bios.useserial = VIR_TRISTATE_BOOL_YES; ignore_value(virStringParseYesNo(tmp, &state));
else def->os.bios.useserial = virTristateBoolFromBool(state);
def->os.bios.useserial = VIR_TRISTATE_BOOL_NO;
VIR_FREE(tmp); VIR_FREE(tmp);
} }
......
...@@ -28,6 +28,7 @@ ...@@ -28,6 +28,7 @@
#include "virxml.h" #include "virxml.h"
#include "viruuid.h" #include "viruuid.h"
#include "virbuffer.h" #include "virbuffer.h"
#include "virstring.h"
#define VIR_FROM_THIS VIR_FROM_INTERFACE #define VIR_FROM_THIS VIR_FROM_INTERFACE
...@@ -268,21 +269,19 @@ virInterfaceDefParseDhcp(virInterfaceProtocolDefPtr def, ...@@ -268,21 +269,19 @@ virInterfaceDefParseDhcp(virInterfaceProtocolDefPtr def,
def->dhcp = 1; def->dhcp = 1;
save = ctxt->node; save = ctxt->node;
ctxt->node = dhcp; ctxt->node = dhcp;
def->peerdns = -1;
/* Not much to do in the current version */ /* Not much to do in the current version */
tmp = virXPathString("string(./@peerdns)", ctxt); tmp = virXPathString("string(./@peerdns)", ctxt);
if (tmp) { if (tmp) {
if (STREQ(tmp, "yes")) { bool state = false;
def->peerdns = 1; if (virStringParseYesNo(tmp, &state) < 0) {
} else if (STREQ(tmp, "no")) {
def->peerdns = 0;
} else {
virReportError(VIR_ERR_XML_ERROR, virReportError(VIR_ERR_XML_ERROR,
_("unknown dhcp peerdns value %s"), tmp); _("unknown dhcp peerdns value %s"), tmp);
ret = -1; ret = -1;
} else {
def->peerdns = state ? 1 : 0;
} }
VIR_FREE(tmp); VIR_FREE(tmp);
} else {
def->peerdns = -1;
} }
ctxt->node = save; ctxt->node = save;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册