提交 8944f261 编写于 作者: P Peter Krempa

conf: network: Use VIR_AUTOPTR in virNetworkDefUpdateSection

Add automatic cleanup for variables of xmlDoc and xmlXPathContext type
to remove the cleanup section.
Signed-off-by: NPeter Krempa <pkrempa@redhat.com>
Reviewed-by: NJiri Denemark <jdenemar@redhat.com>
上级 bfedd149
...@@ -3640,57 +3640,56 @@ virNetworkDefUpdateSection(virNetworkDefPtr def, ...@@ -3640,57 +3640,56 @@ virNetworkDefUpdateSection(virNetworkDefPtr def,
const char *xml, const char *xml,
unsigned int flags) /* virNetworkUpdateFlags */ unsigned int flags) /* virNetworkUpdateFlags */
{ {
int ret = -1; VIR_AUTOPTR(xmlDoc) doc = NULL;
xmlDocPtr doc; VIR_AUTOPTR(xmlXPathContext) ctxt = NULL;
xmlXPathContextPtr ctxt = NULL;
if (!(doc = virXMLParseStringCtxt(xml, _("network_update_xml"), &ctxt))) if (!(doc = virXMLParseStringCtxt(xml, _("network_update_xml"), &ctxt)))
goto cleanup; return -1;
switch (section) { switch (section) {
case VIR_NETWORK_SECTION_BRIDGE: case VIR_NETWORK_SECTION_BRIDGE:
ret = virNetworkDefUpdateBridge(def, command, parentIndex, ctxt, flags); return virNetworkDefUpdateBridge(def, command, parentIndex, ctxt, flags);
break; break;
case VIR_NETWORK_SECTION_DOMAIN: case VIR_NETWORK_SECTION_DOMAIN:
ret = virNetworkDefUpdateDomain(def, command, parentIndex, ctxt, flags); return virNetworkDefUpdateDomain(def, command, parentIndex, ctxt, flags);
break; break;
case VIR_NETWORK_SECTION_IP: case VIR_NETWORK_SECTION_IP:
ret = virNetworkDefUpdateIP(def, command, parentIndex, ctxt, flags); return virNetworkDefUpdateIP(def, command, parentIndex, ctxt, flags);
break; break;
case VIR_NETWORK_SECTION_IP_DHCP_HOST: case VIR_NETWORK_SECTION_IP_DHCP_HOST:
ret = virNetworkDefUpdateIPDHCPHost(def, command, return virNetworkDefUpdateIPDHCPHost(def, command,
parentIndex, ctxt, flags); parentIndex, ctxt, flags);
break; break;
case VIR_NETWORK_SECTION_IP_DHCP_RANGE: case VIR_NETWORK_SECTION_IP_DHCP_RANGE:
ret = virNetworkDefUpdateIPDHCPRange(def, command, return virNetworkDefUpdateIPDHCPRange(def, command,
parentIndex, ctxt, flags); parentIndex, ctxt, flags);
break; break;
case VIR_NETWORK_SECTION_FORWARD: case VIR_NETWORK_SECTION_FORWARD:
ret = virNetworkDefUpdateForward(def, command, return virNetworkDefUpdateForward(def, command,
parentIndex, ctxt, flags); parentIndex, ctxt, flags);
break; break;
case VIR_NETWORK_SECTION_FORWARD_INTERFACE: case VIR_NETWORK_SECTION_FORWARD_INTERFACE:
ret = virNetworkDefUpdateForwardInterface(def, command, return virNetworkDefUpdateForwardInterface(def, command,
parentIndex, ctxt, flags); parentIndex, ctxt, flags);
break; break;
case VIR_NETWORK_SECTION_FORWARD_PF: case VIR_NETWORK_SECTION_FORWARD_PF:
ret = virNetworkDefUpdateForwardPF(def, command, return virNetworkDefUpdateForwardPF(def, command,
parentIndex, ctxt, flags); parentIndex, ctxt, flags);
break; break;
case VIR_NETWORK_SECTION_PORTGROUP: case VIR_NETWORK_SECTION_PORTGROUP:
ret = virNetworkDefUpdatePortGroup(def, command, return virNetworkDefUpdatePortGroup(def, command,
parentIndex, ctxt, flags); parentIndex, ctxt, flags);
break; break;
case VIR_NETWORK_SECTION_DNS_HOST: case VIR_NETWORK_SECTION_DNS_HOST:
ret = virNetworkDefUpdateDNSHost(def, command, return virNetworkDefUpdateDNSHost(def, command,
parentIndex, ctxt, flags); parentIndex, ctxt, flags);
break; break;
case VIR_NETWORK_SECTION_DNS_TXT: case VIR_NETWORK_SECTION_DNS_TXT:
ret = virNetworkDefUpdateDNSTxt(def, command, parentIndex, ctxt, flags); return virNetworkDefUpdateDNSTxt(def, command, parentIndex, ctxt, flags);
break; break;
case VIR_NETWORK_SECTION_DNS_SRV: case VIR_NETWORK_SECTION_DNS_SRV:
ret = virNetworkDefUpdateDNSSrv(def, command, parentIndex, ctxt, flags); return virNetworkDefUpdateDNSSrv(def, command, parentIndex, ctxt, flags);
break; break;
default: default:
virReportError(VIR_ERR_OPERATION_UNSUPPORTED, "%s", virReportError(VIR_ERR_OPERATION_UNSUPPORTED, "%s",
...@@ -3698,8 +3697,5 @@ virNetworkDefUpdateSection(virNetworkDefPtr def, ...@@ -3698,8 +3697,5 @@ virNetworkDefUpdateSection(virNetworkDefPtr def,
break; break;
} }
cleanup: return -1;
xmlFreeDoc(doc);
xmlXPathFreeContext(ctxt);
return ret;
} }
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册