const char *key,
int number)
{
- virJSONValuePtr jvalue = virJSONValueNewNumberInt(number);
- if (!jvalue)
- return -1;
- if (virJSONValueObjectAppend(object, key, jvalue) < 0) {
- virJSONValueFree(jvalue);
+ g_autoptr(virJSONValue) jvalue = virJSONValueNewNumberInt(number);
+
+ if (virJSONValueObjectAppend(object, key, jvalue) < 0)
return -1;
- }
+ jvalue = NULL;
+
return 0;
}
const char *key,
unsigned int number)
{
- virJSONValuePtr jvalue = virJSONValueNewNumberUint(number);
- if (!jvalue)
- return -1;
- if (virJSONValueObjectAppend(object, key, jvalue) < 0) {
- virJSONValueFree(jvalue);
+ g_autoptr(virJSONValue) jvalue = virJSONValueNewNumberUint(number);
+
+ if (virJSONValueObjectAppend(object, key, jvalue) < 0)
return -1;
- }
+ jvalue = NULL;
+
return 0;
}
const char *key,
long long number)
{
- virJSONValuePtr jvalue = virJSONValueNewNumberLong(number);
- if (!jvalue)
- return -1;
- if (virJSONValueObjectAppend(object, key, jvalue) < 0) {
- virJSONValueFree(jvalue);
+ g_autoptr(virJSONValue) jvalue = virJSONValueNewNumberLong(number);
+
+ if (virJSONValueObjectAppend(object, key, jvalue) < 0)
return -1;
- }
+ jvalue = NULL;
+
return 0;
}
const char *key,
unsigned long long number)
{
- virJSONValuePtr jvalue = virJSONValueNewNumberUlong(number);
- if (!jvalue)
- return -1;
- if (virJSONValueObjectAppend(object, key, jvalue) < 0) {
- virJSONValueFree(jvalue);
+ g_autoptr(virJSONValue) jvalue = virJSONValueNewNumberUlong(number);
+
+ if (virJSONValueObjectAppend(object, key, jvalue) < 0)
return -1;
- }
+ jvalue = NULL;
+
return 0;
}
const char *key,
double number)
{
- virJSONValuePtr jvalue = virJSONValueNewNumberDouble(number);
+ g_autoptr(virJSONValue) jvalue = virJSONValueNewNumberDouble(number);
+
+ /* virJSONValueNewNumberDouble may return NULL if locale setting fails */
if (!jvalue)
return -1;
- if (virJSONValueObjectAppend(object, key, jvalue) < 0) {
- virJSONValueFree(jvalue);
+
+ if (virJSONValueObjectAppend(object, key, jvalue) < 0)
return -1;
- }
+ jvalue = NULL;
+
return 0;
}
const char *key,
int boolean_)
{
- virJSONValuePtr jvalue = virJSONValueNewBoolean(boolean_);
- if (!jvalue)
- return -1;
- if (virJSONValueObjectAppend(object, key, jvalue) < 0) {
- virJSONValueFree(jvalue);
+ g_autoptr(virJSONValue) jvalue = virJSONValueNewBoolean(boolean_);
+
+ if (virJSONValueObjectAppend(object, key, jvalue) < 0)
return -1;
- }
+ jvalue = NULL;
+
return 0;
}
virJSONValueObjectAppendNull(virJSONValuePtr object,
const char *key)
{
- virJSONValuePtr jvalue = virJSONValueNewNull();
- if (!jvalue)
- return -1;
- if (virJSONValueObjectAppend(object, key, jvalue) < 0) {
- virJSONValueFree(jvalue);
+ g_autoptr(virJSONValue) jvalue = virJSONValueNewNull();
+
+ if (virJSONValueObjectAppend(object, key, jvalue) < 0)
return -1;
- }
+ jvalue = NULL;
+
return 0;
}
virJSONValueArrayAppendString(virJSONValuePtr object,
const char *value)
{
- virJSONValuePtr jvalue = virJSONValueNewString(value);
- if (!jvalue)
- return -1;
- if (virJSONValueArrayAppend(object, jvalue) < 0) {
- virJSONValueFree(jvalue);
+ g_autoptr(virJSONValue) jvalue = virJSONValueNewString(value);
+
+ if (virJSONValueArrayAppend(object, jvalue) < 0)
return -1;
- }
+ jvalue = NULL;
+
return 0;
}