From: Peter Krempa Date: Tue, 5 Feb 2019 17:36:59 +0000 (+0100) Subject: util: json: Use VIR_APPEND_ELEMENT in virJSONValueObjectAppend X-Git-Tag: v5.3.0-rc1~189 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=17f160b288238588d37b1acb55874d7dd9c014fd;p=thirdparty%2Flibvirt.git util: json: Use VIR_APPEND_ELEMENT in virJSONValueObjectAppend The function open-codes addition into an array. Use the helper instead. Signed-off-by: Peter Krempa Reviewed-by: Ján Tomko --- diff --git a/src/util/virjson.c b/src/util/virjson.c index bd50847418..d2664b9d57 100644 --- a/src/util/virjson.c +++ b/src/util/virjson.c @@ -611,7 +611,8 @@ virJSONValueObjectAppend(virJSONValuePtr object, const char *key, virJSONValuePtr value) { - char *newkey; + virJSONObjectPair pair = { NULL, value }; + int ret = -1; if (object->type != VIR_JSON_TYPE_OBJECT) { virReportError(VIR_ERR_INTERNAL_ERROR, "%s", @@ -624,20 +625,14 @@ virJSONValueObjectAppend(virJSONValuePtr object, return -1; } - if (VIR_STRDUP(newkey, key) < 0) - return -1; - - if (VIR_REALLOC_N(object->data.object.pairs, - object->data.object.npairs + 1) < 0) { - VIR_FREE(newkey); + if (VIR_STRDUP(pair.key, key) < 0) return -1; - } - object->data.object.pairs[object->data.object.npairs].key = newkey; - object->data.object.pairs[object->data.object.npairs].value = value; - object->data.object.npairs++; + ret = VIR_APPEND_ELEMENT(object->data.object.pairs, + object->data.object.npairs, pair); - return 0; + VIR_FREE(pair.key); + return ret; }