[RFC 19/21] conf: Extract error-checking code from virNetworkDNSDefParseXML

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Signed-off-by: Shi Lei <shi_lei@xxxxxxxxxxxxxx>
---
 src/conf/network_conf.c | 33 +++++++++++++++++++++++++++------
 1 file changed, 27 insertions(+), 6 deletions(-)

diff --git a/src/conf/network_conf.c b/src/conf/network_conf.c
index 3b93772..4c0751f 100644
--- a/src/conf/network_conf.c
+++ b/src/conf/network_conf.c
@@ -900,6 +900,30 @@ virNetworkDNSForwarderParseXMLHook(xmlNodePtr node G_GNUC_UNUSED,
 }
 
 
+static int
+virNetworkDNSDefParseXMLHook(xmlNodePtr node G_GNUC_UNUSED,
+                             virNetworkDNSDefPtr def,
+                             const char *networkName,
+                             void *opaque G_GNUC_UNUSED,
+                             const char *enable G_GNUC_UNUSED,
+                             const char *forwardPlainNames G_GNUC_UNUSED,
+                             int ntxts,
+                             int nhosts,
+                             int nsrvs,
+                             int nfwds)
+{
+    if (def->enable == VIR_TRISTATE_BOOL_NO &&
+        (nfwds || nhosts || nsrvs || ntxts)) {
+        virReportError(VIR_ERR_XML_ERROR,
+                       _("Extra data in disabled network '%s'"),
+                       networkName);
+        return -1;
+    }
+
+    return 0;
+}
+
+
 static int
 virNetworkDNSDefParseXML(const char *networkName,
                          xmlNodePtr node,
@@ -1025,13 +1049,10 @@ virNetworkDNSDefParseXML(const char *networkName,
         }
     }
 
-    if (def->enable == VIR_TRISTATE_BOOL_NO &&
-        (nfwds || nhosts || nsrvs || ntxts)) {
-        virReportError(VIR_ERR_XML_ERROR,
-                       _("Extra data in disabled network '%s'"),
-                       networkName);
+    if (virNetworkDNSDefParseXMLHook(node, def, networkName, NULL,
+                                     enable, forwardPlainNames,
+                                     ntxts, nhosts, nsrvs, nfwds) < 0)
         goto cleanup;
-    }
 
     ret = 0;
  cleanup:
-- 
2.17.1





[Index of Archives]     [Virt Tools]     [Libvirt Users]     [Lib OS Info]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [KDE Users]     [Fedora Tools]

  Powered by Linux