[libvirt PATCH 10/10] virInterfaceLinkParseXML: Use virXMLProp*

Peter Krempa pkrempa at redhat.com
Wed Apr 21 07:17:20 UTC 2021


On Fri, Apr 16, 2021 at 14:21:00 +0200, Tim Wiederhake wrote:
> Signed-off-by: Tim Wiederhake <twiederh at redhat.com>
> ---
>  src/conf/device_conf.c | 26 ++++++--------------------
>  1 file changed, 6 insertions(+), 20 deletions(-)
> 
> diff --git a/src/conf/device_conf.c b/src/conf/device_conf.c
> index 1ce31e9234..a2893fec6f 100644
> --- a/src/conf/device_conf.c
> +++ b/src/conf/device_conf.c
> @@ -468,28 +468,14 @@ int
>  virInterfaceLinkParseXML(xmlNodePtr node,
>                           virNetDevIfLink *lnk)
>  {
> -    int state;
> -
> -    g_autofree char *stateStr = virXMLPropString(node, "state");
> -    g_autofree char *speedStr = virXMLPropString(node, "speed");
> -
> -    if (stateStr) {
> -        if ((state = virNetDevIfStateTypeFromString(stateStr)) < 0) {
> -            virReportError(VIR_ERR_XML_ERROR,
> -                           _("unknown link state: %s"),
> -                           stateStr);
> -            return -1;
> -        }
> -        lnk->state = state;
> -    }
> +    if (virXMLPropEnum(node, "state", virNetDevIfStateTypeFromString,
> +                       VIR_XML_PROP_OPTIONAL, &lnk->state) < 0)
> +        return -1;
>  
> -    if (speedStr &&
> -        virStrToLong_ui(speedStr, NULL, 10, &lnk->speed) < 0) {

This was using virStrToLong_ui which has the 'wrap-around' anti feature.

> -        virReportError(VIR_ERR_XML_ERROR,
> -                       _("Unable to parse link speed: %s"),
> -                       speedStr);
> +    if (virXMLPropUInt(node, "speed", 10, VIR_XML_PROP_OPTIONAL,
> +                       &lnk->speed) < 0)

Strictifying the parser must be sufficiently justified in the commit
message.

>          return -1;
> -    }
> +
>      return 0;
>  }
>  
> -- 
> 2.26.2
> 




More information about the libvir-list mailing list