}
+static virJSONValuePtr
+virJSONValueObjectDeflattenKeys(virJSONValuePtr json);
+
+
static int
virJSONValueObjectDeflattenWorker(const char *key,
virJSONValuePtr value,
if (!strchr(key, '.')) {
if (virJSONValueIsObject(value))
- newval = virJSONValueObjectDeflatten(value);
+ newval = virJSONValueObjectDeflattenKeys(value);
else
newval = virJSONValueCopy(value);
}
+static virJSONValuePtr
+virJSONValueObjectDeflattenKeys(virJSONValuePtr json)
+{
+ g_autoptr(virJSONValue) deflattened = virJSONValueNewObject();
+
+ if (virJSONValueObjectForeachKeyValue(json,
+ virJSONValueObjectDeflattenWorker,
+ deflattened) < 0)
+ return NULL;
+
+ return g_steal_pointer(&deflattened);
+}
+
+
/**
* virJSONValueObjectDeflatten:
*
virJSONValuePtr
virJSONValueObjectDeflatten(virJSONValuePtr json)
{
- g_autoptr(virJSONValue) deflattened = virJSONValueNewObject();
-
- if (virJSONValueObjectForeachKeyValue(json,
- virJSONValueObjectDeflattenWorker,
- deflattened) < 0)
- return NULL;
-
- return g_steal_pointer(&deflattened);
+ return virJSONValueObjectDeflattenKeys(json);
}