From: Peter Krempa Date: Mon, 24 Aug 2020 15:00:59 +0000 (+0200) Subject: qemuMigrationCapsToJSON: Refactor capability object formatting X-Git-Tag: v6.7.0-rc1~33 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=14b895ad3a31c2ae1499a68b0d4ea9e7c2f15c7c;p=thirdparty%2Flibvirt.git qemuMigrationCapsToJSON: Refactor capability object formatting Use virJSONValueObjectCreate rather than creating the object piece-by-piece and use new accessors for bitmap to simplify the code. Signed-off-by: Peter Krempa Reviewed-by: Jiri Denemark --- diff --git a/src/qemu/qemu_migration_params.c b/src/qemu/qemu_migration_params.c index 513140a6ca..231a8a2ee8 100644 --- a/src/qemu/qemu_migration_params.c +++ b/src/qemu/qemu_migration_params.c @@ -763,21 +763,15 @@ qemuMigrationCapsToJSON(virBitmapPtr caps, qemuMigrationCapability bit; for (bit = 0; bit < QEMU_MIGRATION_CAP_LAST; bit++) { - g_autoptr(virJSONValue) cap = virJSONValueNewObject(); - const char *name = qemuMigrationCapabilityTypeToString(bit); - bool supported = false; - bool state = false; + g_autoptr(virJSONValue) cap = NULL; - ignore_value(virBitmapGetBit(caps, bit, &supported)); - if (!supported) + if (!virBitmapIsBitSet(caps, bit)) continue; - ignore_value(virBitmapGetBit(states, bit, &state)); - - if (virJSONValueObjectAppendString(cap, "capability", name) < 0) - return NULL; - - if (virJSONValueObjectAppendBoolean(cap, "state", state) < 0) + if (virJSONValueObjectCreate(&cap, + "s:capability", qemuMigrationCapabilityTypeToString(bit), + "b:state", virBitmapIsBitSet(states, bit), + NULL) < 0) return NULL; if (virJSONValueArrayAppend(json, cap) < 0)