virJSONParserInsertValue: Take double pointer for @value

The function calls virJSONValueObjectAppend/virJSONValueArrayAppend, so
by taking a double pointer we can drop the pointer clearing from
callers.

Signed-off-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
This commit is contained in:
Peter Krempa 2021-02-12 16:26:09 +01:00
parent 6b12e220b0
commit 8298a5bd69

View File

@ -1549,10 +1549,10 @@ virJSONValueCopy(const virJSONValue *in)
#if WITH_YAJL
static int
virJSONParserInsertValue(virJSONParserPtr parser,
virJSONValuePtr value)
virJSONValuePtr *value)
{
if (!parser->head) {
parser->head = value;
parser->head = g_steal_pointer(value);
} else {
virJSONParserStatePtr state;
if (!parser->nstate) {
@ -1571,7 +1571,7 @@ virJSONParserInsertValue(virJSONParserPtr parser,
if (virJSONValueObjectAppend(state->value,
state->key,
&value) < 0)
value) < 0)
return -1;
VIR_FREE(state->key);
@ -1584,7 +1584,7 @@ virJSONParserInsertValue(virJSONParserPtr parser,
}
if (virJSONValueArrayAppend(state->value,
&value) < 0)
value) < 0)
return -1;
} break;
@ -1606,9 +1606,8 @@ virJSONParserHandleNull(void *ctx)
VIR_DEBUG("parser=%p", parser);
if (virJSONParserInsertValue(parser, value) < 0)
if (virJSONParserInsertValue(parser, &value) < 0)
return 0;
value = NULL;
return 1;
}
@ -1623,9 +1622,8 @@ virJSONParserHandleBoolean(void *ctx,
VIR_DEBUG("parser=%p boolean=%d", parser, boolean_);
if (virJSONParserInsertValue(parser, value) < 0)
if (virJSONParserInsertValue(parser, &value) < 0)
return 0;
value = NULL;
return 1;
}
@ -1641,9 +1639,8 @@ virJSONParserHandleNumber(void *ctx,
VIR_DEBUG("parser=%p str=%s", parser, value->data.number);
if (virJSONParserInsertValue(parser, value) < 0)
if (virJSONParserInsertValue(parser, &value) < 0)
return 0;
value = NULL;
return 1;
}
@ -1660,9 +1657,8 @@ virJSONParserHandleString(void *ctx,
VIR_DEBUG("parser=%p str=%p", parser, (const char *)stringVal);
if (virJSONParserInsertValue(parser, value) < 0)
if (virJSONParserInsertValue(parser, &value) < 0)
return 0;
value = NULL;
return 1;
}
@ -1698,9 +1694,8 @@ virJSONParserHandleStartMap(void *ctx)
VIR_DEBUG("parser=%p", parser);
if (virJSONParserInsertValue(parser, value) < 0)
if (virJSONParserInsertValue(parser, &value) < 0)
return 0;
value = NULL;
if (VIR_REALLOC_N(parser->state,
parser->nstate + 1) < 0) {
@ -1747,9 +1742,8 @@ virJSONParserHandleStartArray(void *ctx)
VIR_DEBUG("parser=%p", parser);
if (virJSONParserInsertValue(parser, value) < 0)
if (virJSONParserInsertValue(parser, &value) < 0)
return 0;
value = NULL;
if (VIR_REALLOC_N(parser->state,
parser->nstate + 1) < 0)