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(a)redhat.com>
---
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