On 5/23/22 3:08 PM, Michal Privoznik wrote:
@@ -6709,21 +6709,13 @@ static int
virDomainDeviceAddressParseXML(xmlNodePtr address,
virDomainDeviceInfo *info)
{
- g_autofree char *type = virXMLPropString(address, "type");
-
- if (type) {
- if ((info->type = virDomainDeviceAddressTypeFromString(type)) <= 0) {
- virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
- _("unknown address type '%s'"), type);
- return -1;
- }
- } else {
- virReportError(VIR_ERR_INTERNAL_ERROR,
- "%s", _("No type specified for device
address"));
+ if (virXMLPropEnum(address, "type",
+ virDomainDeviceAddressTypeFromString,
+ VIR_XML_PROP_NONZERO | VIR_XML_PROP_REQUIRED,
+ &info->type) < 0)
return -1;
- }
For my taste the resulting generic error messages look a bit different
and besides the different message texts the error numbers change:
virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
_("unknown address type '%s'"), type);
turns into
virReportError(VIR_ERR_XML_ERROR,
_("Invalid value for attribute '%s' in element '%s':
'%s'."),
name, node->name, NULLSTR(tmp));
and
virReportError(VIR_ERR_INTERNAL_ERROR,
"%s", _("No type specified for device address"));
turns into
virReportError(VIR_ERR_XML_ERROR,
_("Missing required attribute '%s' in element
'%s'"),
name, node->name);
Don't changes like this have an impact on the user?
--
Mit freundlichen Grüßen/Kind regards
Boris Fiuczynski
IBM Deutschland Research & Development GmbH
Vorsitzender des Aufsichtsrats: Gregor Pillen
Geschäftsführung: David Faller
Sitz der Gesellschaft: Böblingen
Registergericht: Amtsgericht Stuttgart, HRB 243294