From cadd96b3ea56db02b90a0971bd9cc46a2a883cc1 Mon Sep 17 00:00:00 2001 From: Peter Krempa Date: Mon, 26 Jun 2017 11:32:35 +0200 Subject: [PATCH] util: json: Add virJSONValueIsObject Allows testing whether a virJSONValue is an object. --- src/libvirt_private.syms | 1 + src/util/virjson.c | 10 ++++++++++ src/util/virjson.h | 2 ++ 3 files changed, 13 insertions(+) diff --git a/src/libvirt_private.syms b/src/libvirt_private.syms index 888412ac78..a2addca9c3 100644 --- a/src/libvirt_private.syms +++ b/src/libvirt_private.syms @@ -1907,6 +1907,7 @@ virJSONValueGetString; virJSONValueHashFree; virJSONValueIsArray; virJSONValueIsNull; +virJSONValueIsObject; virJSONValueNewArray; virJSONValueNewArrayFromBitmap; virJSONValueNewBoolean; diff --git a/src/util/virjson.c b/src/util/virjson.c index b49b29b0fb..76d1d36f17 100644 --- a/src/util/virjson.c +++ b/src/util/virjson.c @@ -904,6 +904,16 @@ virJSONValueObjectGetValue(virJSONValuePtr object, } +bool +virJSONValueIsObject(virJSONValuePtr object) +{ + if (object) + return object->type == VIR_JSON_TYPE_OBJECT; + else + return false; +} + + bool virJSONValueIsArray(virJSONValuePtr array) { diff --git a/src/util/virjson.h b/src/util/virjson.h index 14b74c0617..c9d9752de1 100644 --- a/src/util/virjson.h +++ b/src/util/virjson.h @@ -114,6 +114,8 @@ virJSONValuePtr virJSONValueObjectGet(virJSONValuePtr object, const char *key); virJSONValuePtr virJSONValueObjectGetByType(virJSONValuePtr object, const char *key, virJSONType type); +bool virJSONValueIsObject(virJSONValuePtr object); + bool virJSONValueIsArray(virJSONValuePtr array); ssize_t virJSONValueArraySize(const virJSONValue *array); virJSONValuePtr virJSONValueArrayGet(virJSONValuePtr object, unsigned int element);