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 <pkrempa@xxxxxxxxxx> --- src/qemu/qemu_migration_params.c | 18 ++++++------------ 1 file changed, 6 insertions(+), 12 deletions(-) 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) -- 2.26.2