]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
virNetworkDHCPLeaseTimeDefParseXML: Use virXMLProp*
authorTim Wiederhake <twiederh@redhat.com>
Mon, 10 May 2021 12:48:35 +0000 (14:48 +0200)
committerMichal Privoznik <mprivozn@redhat.com>
Tue, 11 May 2021 12:03:48 +0000 (14:03 +0200)
Signed-off-by: Tim Wiederhake <twiederh@redhat.com>
Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
src/conf/network_conf.c

index c3c335135b594bc1639f2cb10f7ae562606201eb..a9eadff29c029ae7f701a11ca1a4b529a4efd72b 100644 (file)
@@ -410,27 +410,21 @@ virNetworkDHCPLeaseTimeDefParseXML(virNetworkDHCPLeaseTimeDef **lease,
                                    xmlNodePtr node)
 {
     virNetworkDHCPLeaseTimeDef *new_lease = NULL;
-    g_autofree char *expirystr = NULL;
-    g_autofree char *unitstr = NULL;
     unsigned long long expiry;
-    int unit = VIR_NETWORK_DHCP_LEASETIME_UNIT_MINUTES;
+    virNetworkDHCPLeaseTimeUnitType unit;
+    int rc;
 
-    if (!(expirystr = virXMLPropString(node, "expiry")))
+    if ((rc = virXMLPropULongLong(node, "expiry", 0, VIR_XML_PROP_NONE, &expiry)) < 0)
+        return -1;
+
+    if (rc == 0)
         return 0;
 
-    if (virStrToLong_ull(expirystr, NULL, 10, &expiry) < 0) {
-        virReportError(VIR_ERR_XML_ERROR,
-                       _("failed to parse expiry value '%s'"), expirystr);
+    if (virXMLPropEnumDefault(node, "unit",
+                              virNetworkDHCPLeaseTimeUnitTypeFromString,
+                              VIR_XML_PROP_NONE, &unit,
+                              VIR_NETWORK_DHCP_LEASETIME_UNIT_MINUTES) < 0)
         return -1;
-    }
-
-    if ((unitstr = virXMLPropString(node, "unit"))) {
-        if ((unit = virNetworkDHCPLeaseTimeUnitTypeFromString(unitstr)) < 0) {
-            virReportError(VIR_ERR_XML_ERROR,
-                           _("Invalid unit: %s"), unitstr);
-            return -1;
-        }
-    }
 
     /* infinite */
     if (expiry > 0) {