]> xenbits.xensource.com Git - libvirt.git/commitdiff
virJSONValue(Array|Object)Append*: Simplify handling of appended object
authorPeter Krempa <pkrempa@redhat.com>
Fri, 12 Feb 2021 09:51:31 +0000 (10:51 +0100)
committerPeter Krempa <pkrempa@redhat.com>
Sat, 20 Feb 2021 12:26:37 +0000 (13:26 +0100)
Use g_autofree for the pointer of the added object and remove the NULL
checks for values returned by virJSONValueNew* (except
virJSONValueNewNumberDouble) since they can't fail nowadays.

Signed-off-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
src/util/virjson.c

index d794eed17fd62ac261995193f39a26d22a30044b..adf1cfbcbcda3f6ae13a24a943604cd261002637 100644 (file)
@@ -676,13 +676,12 @@ virJSONValueObjectAppendNumberInt(virJSONValuePtr object,
                                   const char *key,
                                   int number)
 {
-    virJSONValuePtr jvalue = virJSONValueNewNumberInt(number);
-    if (!jvalue)
-        return -1;
-    if (virJSONValueObjectAppend(object, key, jvalue) < 0) {
-        virJSONValueFree(jvalue);
+    g_autoptr(virJSONValue) jvalue = virJSONValueNewNumberInt(number);
+
+    if (virJSONValueObjectAppend(object, key, jvalue) < 0)
         return -1;
-    }
+    jvalue = NULL;
+
     return 0;
 }
 
@@ -692,13 +691,12 @@ virJSONValueObjectAppendNumberUint(virJSONValuePtr object,
                                    const char *key,
                                    unsigned int number)
 {
-    virJSONValuePtr jvalue = virJSONValueNewNumberUint(number);
-    if (!jvalue)
-        return -1;
-    if (virJSONValueObjectAppend(object, key, jvalue) < 0) {
-        virJSONValueFree(jvalue);
+    g_autoptr(virJSONValue) jvalue = virJSONValueNewNumberUint(number);
+
+    if (virJSONValueObjectAppend(object, key, jvalue) < 0)
         return -1;
-    }
+    jvalue = NULL;
+
     return 0;
 }
 
@@ -708,13 +706,12 @@ virJSONValueObjectAppendNumberLong(virJSONValuePtr object,
                                    const char *key,
                                    long long number)
 {
-    virJSONValuePtr jvalue = virJSONValueNewNumberLong(number);
-    if (!jvalue)
-        return -1;
-    if (virJSONValueObjectAppend(object, key, jvalue) < 0) {
-        virJSONValueFree(jvalue);
+    g_autoptr(virJSONValue) jvalue = virJSONValueNewNumberLong(number);
+
+    if (virJSONValueObjectAppend(object, key, jvalue) < 0)
         return -1;
-    }
+    jvalue = NULL;
+
     return 0;
 }
 
@@ -724,13 +721,12 @@ virJSONValueObjectAppendNumberUlong(virJSONValuePtr object,
                                     const char *key,
                                     unsigned long long number)
 {
-    virJSONValuePtr jvalue = virJSONValueNewNumberUlong(number);
-    if (!jvalue)
-        return -1;
-    if (virJSONValueObjectAppend(object, key, jvalue) < 0) {
-        virJSONValueFree(jvalue);
+    g_autoptr(virJSONValue) jvalue = virJSONValueNewNumberUlong(number);
+
+    if (virJSONValueObjectAppend(object, key, jvalue) < 0)
         return -1;
-    }
+    jvalue = NULL;
+
     return 0;
 }
 
@@ -740,13 +736,16 @@ virJSONValueObjectAppendNumberDouble(virJSONValuePtr object,
                                      const char *key,
                                      double number)
 {
-    virJSONValuePtr jvalue = virJSONValueNewNumberDouble(number);
+    g_autoptr(virJSONValue) jvalue = virJSONValueNewNumberDouble(number);
+
+    /* virJSONValueNewNumberDouble may return NULL if locale setting fails */
     if (!jvalue)
         return -1;
-    if (virJSONValueObjectAppend(object, key, jvalue) < 0) {
-        virJSONValueFree(jvalue);
+
+    if (virJSONValueObjectAppend(object, key, jvalue) < 0)
         return -1;
-    }
+    jvalue = NULL;
+
     return 0;
 }
 
@@ -756,13 +755,12 @@ virJSONValueObjectAppendBoolean(virJSONValuePtr object,
                                 const char *key,
                                 int boolean_)
 {
-    virJSONValuePtr jvalue = virJSONValueNewBoolean(boolean_);
-    if (!jvalue)
-        return -1;
-    if (virJSONValueObjectAppend(object, key, jvalue) < 0) {
-        virJSONValueFree(jvalue);
+    g_autoptr(virJSONValue) jvalue = virJSONValueNewBoolean(boolean_);
+
+    if (virJSONValueObjectAppend(object, key, jvalue) < 0)
         return -1;
-    }
+    jvalue = NULL;
+
     return 0;
 }
 
@@ -771,13 +769,12 @@ int
 virJSONValueObjectAppendNull(virJSONValuePtr object,
                              const char *key)
 {
-    virJSONValuePtr jvalue = virJSONValueNewNull();
-    if (!jvalue)
-        return -1;
-    if (virJSONValueObjectAppend(object, key, jvalue) < 0) {
-        virJSONValueFree(jvalue);
+    g_autoptr(virJSONValue) jvalue = virJSONValueNewNull();
+
+    if (virJSONValueObjectAppend(object, key, jvalue) < 0)
         return -1;
-    }
+    jvalue = NULL;
+
     return 0;
 }
 
@@ -806,13 +803,12 @@ int
 virJSONValueArrayAppendString(virJSONValuePtr object,
                               const char *value)
 {
-    virJSONValuePtr jvalue = virJSONValueNewString(value);
-    if (!jvalue)
-        return -1;
-    if (virJSONValueArrayAppend(object, jvalue) < 0) {
-        virJSONValueFree(jvalue);
+    g_autoptr(virJSONValue) jvalue = virJSONValueNewString(value);
+
+    if (virJSONValueArrayAppend(object, jvalue) < 0)
         return -1;
-    }
+    jvalue = NULL;
+
     return 0;
 }