[libvirt] [PATCH 2/9] conf: network: Use VIR_AUTOPTR in virNetworkDefUpdateSection

Jiri Denemark jdenemar at redhat.com
Wed Sep 18 17:55:50 UTC 2019


On Mon, Sep 16, 2019 at 14:17:05 +0200, Peter Krempa wrote:
> Add automatic cleanup for variables of xmlDoc and xmlXPathContext type
> to remove the cleanup section.
> 
> Signed-off-by: Peter Krempa <pkrempa at redhat.com>
> ---
>  src/conf/network_conf.c | 36 ++++++++++++++++--------------------
>  1 file changed, 16 insertions(+), 20 deletions(-)
> 
> diff --git a/src/conf/network_conf.c b/src/conf/network_conf.c
> index 585c87a9f4..b65fb1f67a 100644
> --- a/src/conf/network_conf.c
> +++ b/src/conf/network_conf.c
> @@ -3640,57 +3640,56 @@ virNetworkDefUpdateSection(virNetworkDefPtr def,
>                             const char *xml,
>                             unsigned int flags)  /* virNetworkUpdateFlags */
>  {
> -    int ret = -1;
> -    xmlDocPtr doc;
> -    xmlXPathContextPtr ctxt = NULL;
> +    VIR_AUTOPTR(xmlDoc) doc = NULL;
> +    VIR_AUTOPTR(xmlXPathContext) ctxt = NULL;
> 
>      if (!(doc = virXMLParseStringCtxt(xml, _("network_update_xml"), &ctxt)))
> -        goto cleanup;
> +        return -1;
> 
>      switch (section) {
>      case VIR_NETWORK_SECTION_BRIDGE:
> -       ret = virNetworkDefUpdateBridge(def, command, parentIndex, ctxt, flags);
> +        return virNetworkDefUpdateBridge(def, command, parentIndex, ctxt, flags);
>          break;
> 
>      case VIR_NETWORK_SECTION_DOMAIN:
> -        ret = virNetworkDefUpdateDomain(def, command, parentIndex, ctxt, flags);
> +        return virNetworkDefUpdateDomain(def, command, parentIndex, ctxt, flags);
>          break;
>      case VIR_NETWORK_SECTION_IP:
> -        ret = virNetworkDefUpdateIP(def, command, parentIndex, ctxt, flags);
> +        return virNetworkDefUpdateIP(def, command, parentIndex, ctxt, flags);
>          break;
>      case VIR_NETWORK_SECTION_IP_DHCP_HOST:
> -        ret = virNetworkDefUpdateIPDHCPHost(def, command,
> +        return virNetworkDefUpdateIPDHCPHost(def, command,
>                                              parentIndex, ctxt, flags);

I <Esc>

and in several similar cases below...

>          break;
>      case VIR_NETWORK_SECTION_IP_DHCP_RANGE:
> -        ret = virNetworkDefUpdateIPDHCPRange(def, command,
> +        return virNetworkDefUpdateIPDHCPRange(def, command,
>                                               parentIndex, ctxt, flags);

.

>          break;
>      case VIR_NETWORK_SECTION_FORWARD:
> -        ret = virNetworkDefUpdateForward(def, command,
> +        return virNetworkDefUpdateForward(def, command,
>                                           parentIndex, ctxt, flags);

.

>          break;
>      case VIR_NETWORK_SECTION_FORWARD_INTERFACE:
> -        ret = virNetworkDefUpdateForwardInterface(def, command,
> +        return virNetworkDefUpdateForwardInterface(def, command,
>                                                    parentIndex, ctxt, flags);

.

>          break;
>      case VIR_NETWORK_SECTION_FORWARD_PF:
> -        ret = virNetworkDefUpdateForwardPF(def, command,
> +        return virNetworkDefUpdateForwardPF(def, command,
>                                             parentIndex, ctxt, flags);

.

>          break;
>      case VIR_NETWORK_SECTION_PORTGROUP:
> -        ret = virNetworkDefUpdatePortGroup(def, command,
> +        return virNetworkDefUpdatePortGroup(def, command,
>                                             parentIndex, ctxt, flags);

.

>          break;
>      case VIR_NETWORK_SECTION_DNS_HOST:
> -        ret = virNetworkDefUpdateDNSHost(def, command,
> +        return virNetworkDefUpdateDNSHost(def, command,
>                                           parentIndex, ctxt, flags);

.

>          break;
>      case VIR_NETWORK_SECTION_DNS_TXT:
> -        ret = virNetworkDefUpdateDNSTxt(def, command, parentIndex, ctxt, flags);
> +        return virNetworkDefUpdateDNSTxt(def, command, parentIndex, ctxt, flags);
>          break;
>      case VIR_NETWORK_SECTION_DNS_SRV:
> -        ret = virNetworkDefUpdateDNSSrv(def, command, parentIndex, ctxt, flags);
> +        return virNetworkDefUpdateDNSSrv(def, command, parentIndex, ctxt, flags);
>          break;
>      default:
>          virReportError(VIR_ERR_OPERATION_UNSUPPORTED, "%s",
> @@ -3698,8 +3697,5 @@ virNetworkDefUpdateSection(virNetworkDefPtr def,
>          break;
>      }
> 
> - cleanup:
> -    xmlFreeDoc(doc);
> -    xmlXPathFreeContext(ctxt);
> -    return ret;
> +    return -1;
>  }

Reviewed-by: Jiri Denemark <jdenemar at redhat.com>




More information about the libvir-list mailing list