]> xenbits.xensource.com Git - people/liuw/libxenctrl-split/libvirt.git/commitdiff
json: Fix *GetBoolean functions
authorJiri Denemark <jdenemar@redhat.com>
Thu, 5 May 2011 11:48:31 +0000 (13:48 +0200)
committerJiri Denemark <jdenemar@redhat.com>
Mon, 9 May 2011 12:02:13 +0000 (14:02 +0200)
They were not used anywhere so far so nobody noticed they are broken.

src/util/json.c
src/util/json.h

index 0daeae9092e247701d15b2766813db18471480dc..df4771dc19309c1294b3744b95211b4c4dac6dfa 100644 (file)
@@ -491,12 +491,13 @@ int virJSONValueGetNumberDouble(virJSONValuePtr number, double *value)
 }
 
 
-int virJSONValueGetBoolean(virJSONValuePtr val)
+int virJSONValueGetBoolean(virJSONValuePtr val, bool *value)
 {
-    if (val->type != VIR_JSON_TYPE_NUMBER)
+    if (val->type != VIR_JSON_TYPE_BOOLEAN)
         return -1;
 
-    return val->data.boolean;
+    *value = val->data.boolean;
+    return 0;
 }
 
 
@@ -593,7 +594,7 @@ int virJSONValueObjectGetNumberDouble(virJSONValuePtr object, const char *key, d
 }
 
 
-int virJSONValueObjectGetBoolean(virJSONValuePtr object, const char *key)
+int virJSONValueObjectGetBoolean(virJSONValuePtr object, const char *key, bool *value)
 {
     virJSONValuePtr val;
     if (object->type != VIR_JSON_TYPE_OBJECT)
@@ -603,7 +604,7 @@ int virJSONValueObjectGetBoolean(virJSONValuePtr object, const char *key)
     if (!val)
         return -1;
 
-    return virJSONValueGetBoolean(val);
+    return virJSONValueGetBoolean(val, value);
 }
 
 
index ea28de6cb7a722dc7b07e1ca4a1645541f85d0fb..457265496c211444385b270ec3ff6da77cf7031b 100644 (file)
@@ -105,7 +105,7 @@ int virJSONValueGetNumberUint(virJSONValuePtr object, unsigned int *value);
 int virJSONValueGetNumberLong(virJSONValuePtr object, long long *value);
 int virJSONValueGetNumberUlong(virJSONValuePtr object, unsigned long long *value);
 int virJSONValueGetNumberDouble(virJSONValuePtr object, double *value);
-int virJSONValueGetBoolean(virJSONValuePtr object);
+int virJSONValueGetBoolean(virJSONValuePtr object, bool *value);
 int virJSONValueIsNull(virJSONValuePtr object);
 
 const char *virJSONValueObjectGetString(virJSONValuePtr object, const char *key);
@@ -114,7 +114,7 @@ int virJSONValueObjectGetNumberUint(virJSONValuePtr object, const char *key, uns
 int virJSONValueObjectGetNumberLong(virJSONValuePtr object, const char *key, long long *value);
 int virJSONValueObjectGetNumberUlong(virJSONValuePtr object, const char *key, unsigned long long *value);
 int virJSONValueObjectGetNumberDouble(virJSONValuePtr object, const char *key, double *value);
-int virJSONValueObjectGetBoolean(virJSONValuePtr object, const char *key);
+int virJSONValueObjectGetBoolean(virJSONValuePtr object, const char *key, bool *value);
 int virJSONValueObjectIsNull(virJSONValuePtr object, const char *key);
 
 int virJSONValueObjectAppendString(virJSONValuePtr object, const char *key, const char *value);