virJSONValueObjectAddVArgs: Take double pointer

Pass in the double pointer from the wrappers directly to
virJSONValueObjectAddVArgs, which will allow us to directly allocate the
new objects inside the function.

Signed-off-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
This commit is contained in:
Peter Krempa 2021-11-09 16:23:01 +01:00
parent f28b1cf2c9
commit 34fc5832e3
3 changed files with 7 additions and 6 deletions

View File

@ -2889,7 +2889,7 @@ qemuMonitorCreateObjectProps(virJSONValue **propsret,
va_start(args, alias);
rc = virJSONValueObjectAddVArgs(props, args);
rc = virJSONValueObjectAddVArgs(&props, args);
va_end(args);

View File

@ -103,7 +103,7 @@ virJSONValueGetType(const virJSONValue *value)
/**
* virJSONValueObjectAddVArgs:
* @obj: JSON object to add the values to
* @objptr: pointer to a pointer to a JSON object to add the values to
* @args: a key-value argument pairs, terminated by NULL
*
* Adds the key-value pairs supplied as variable argument list to @obj.
@ -152,9 +152,10 @@ virJSONValueGetType(const virJSONValue *value)
* in case of no error but nothing was filled.
*/
int
virJSONValueObjectAddVArgs(virJSONValue *obj,
virJSONValueObjectAddVArgs(virJSONValue **objptr,
va_list args)
{
virJSONValue *obj = *objptr;
char type;
char *key;
int rc;
@ -354,7 +355,7 @@ virJSONValueObjectAdd(virJSONValue **objptr, ...)
int ret;
va_start(args, objptr);
ret = virJSONValueObjectAddVArgs(*objptr, args);
ret = virJSONValueObjectAddVArgs(objptr, args);
va_end(args);
return ret;
@ -370,7 +371,7 @@ virJSONValueObjectCreateVArgs(virJSONValue **obj,
*obj = virJSONValueNewObject();
/* free the object on error, or if no value objects were added */
if ((ret = virJSONValueObjectAddVArgs(*obj, args)) <= 0) {
if ((ret = virJSONValueObjectAddVArgs(obj, args)) <= 0) {
virJSONValueFree(*obj);
*obj = NULL;
}

View File

@ -50,7 +50,7 @@ int virJSONValueObjectCreateVArgs(virJSONValue **obj, va_list args)
ATTRIBUTE_NONNULL(1);
int virJSONValueObjectAdd(virJSONValue **obj, ...)
ATTRIBUTE_NONNULL(1) G_GNUC_NULL_TERMINATED;
int virJSONValueObjectAddVArgs(virJSONValue *obj, va_list args)
int virJSONValueObjectAddVArgs(virJSONValue **objptr, va_list args)
ATTRIBUTE_NONNULL(1);