]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
virInterfaceDefParseMtu: Use virXPathUInt instead of virXPathULong
authorPeter Krempa <pkrempa@redhat.com>
Wed, 5 Oct 2022 13:08:50 +0000 (15:08 +0200)
committerPeter Krempa <pkrempa@redhat.com>
Wed, 2 Nov 2022 08:20:57 +0000 (09:20 +0100)
Use the proper convertor function and refactor error reporting.

Signed-off-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
src/conf/interface_conf.c

index b31fdce101e3b897ea9fa1b107c8bdbc182dac6c..671b8b088f68aba357c8611f51a1b287253165dd 100644 (file)
@@ -113,17 +113,15 @@ static int
 virInterfaceDefParseMtu(virInterfaceDef *def,
                         xmlXPathContextPtr ctxt)
 {
-    unsigned long mtu;
-    int ret;
+    if (virXPathUInt("string(./mtu/@size)", ctxt, &def->mtu) == -2)
+        return -1;
 
-    ret = virXPathULong("string(./mtu/@size)", ctxt, &mtu);
-    if ((ret == -2) || ((ret == 0) && (mtu > 100000))) {
-        virReportError(VIR_ERR_XML_ERROR,
-                       "%s", _("interface mtu value is improper"));
+    if (def->mtu > 100000) {
+        virReportError(VIR_ERR_XML_ERROR, "%s",
+                       _("value of the 'size' attribute of 'mtu' element must be at most 100000"));
         return -1;
-    } else if (ret == 0) {
-        def->mtu = (unsigned int) mtu;
     }
+
     return 0;
 }