mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-03-07 17:28:15 +00:00
virDomainPerfEventDefParseXML: Use virXMLProp*
Signed-off-by: Tim Wiederhake <twiederh@redhat.com> Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
This commit is contained in:
parent
7bc4f10807
commit
550981ce97
@ -14629,39 +14629,24 @@ static int
|
|||||||
virDomainPerfEventDefParseXML(virDomainPerfDef *perf,
|
virDomainPerfEventDefParseXML(virDomainPerfDef *perf,
|
||||||
xmlNodePtr node)
|
xmlNodePtr node)
|
||||||
{
|
{
|
||||||
int event;
|
virPerfEventType name;
|
||||||
g_autofree char *name = NULL;
|
virTristateBool enabled;
|
||||||
g_autofree char *enabled = NULL;
|
|
||||||
|
|
||||||
if (!(name = virXMLPropString(node, "name"))) {
|
if (virXMLPropEnum(node, "name", virPerfEventTypeFromString,
|
||||||
virReportError(VIR_ERR_XML_ERROR, "%s", _("missing perf event name"));
|
VIR_XML_PROP_REQUIRED, &name) < 0)
|
||||||
return -1;
|
return -1;
|
||||||
}
|
|
||||||
|
|
||||||
if ((event = virPerfEventTypeFromString(name)) < 0) {
|
if (virXMLPropTristateBool(node, "enabled", VIR_XML_PROP_REQUIRED, &enabled) < 0)
|
||||||
|
return -1;
|
||||||
|
|
||||||
|
if (perf->events[name] != VIR_TRISTATE_BOOL_ABSENT) {
|
||||||
virReportError(VIR_ERR_XML_ERROR,
|
virReportError(VIR_ERR_XML_ERROR,
|
||||||
_("'unsupported perf event '%s'"), name);
|
_("perf event '%s' was already specified"),
|
||||||
|
virPerfEventTypeToString(name));
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (perf->events[event] != VIR_TRISTATE_BOOL_ABSENT) {
|
perf->events[name] = enabled;
|
||||||
virReportError(VIR_ERR_XML_ERROR,
|
|
||||||
_("perf event '%s' was already specified"), name);
|
|
||||||
return -1;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!(enabled = virXMLPropString(node, "enabled"))) {
|
|
||||||
virReportError(VIR_ERR_XML_ERROR,
|
|
||||||
_("missing state of perf event '%s'"), name);
|
|
||||||
return -1;
|
|
||||||
}
|
|
||||||
|
|
||||||
if ((perf->events[event] = virTristateBoolTypeFromString(enabled)) < 0) {
|
|
||||||
virReportError(VIR_ERR_XML_ERROR,
|
|
||||||
_("invalid state '%s' of perf event '%s'"),
|
|
||||||
enabled, name);
|
|
||||||
return -1;
|
|
||||||
}
|
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user