qemu: Generalize APPEND macro in qemuMonitorJSONSetMigrationParams

The APPEND macro is now be usable for any type.

Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
Reviewed-by: John Ferlan <jferlan@redhat.com>
This commit is contained in:
Jiri Denemark 2017-10-23 17:03:25 +02:00
parent 7ddcab891e
commit 27e5633724

View File

@ -2739,21 +2739,24 @@ qemuMonitorJSONSetMigrationParams(qemuMonitorPtr mon,
if (!(args = virJSONValueNewObject()))
goto cleanup;
#define APPEND(VAR, FIELD) \
#define APPEND(VALID, API, VAR, FIELD) \
do { \
if (params->VAR ## _set && \
virJSONValueObjectAppendNumberInt(args, FIELD, \
params->VAR) < 0) \
if (VALID && API(args, FIELD, params->VAR) < 0) \
goto cleanup; \
} while (0)
APPEND(compressLevel, "compress-level");
APPEND(compressThreads, "compress-threads");
APPEND(decompressThreads, "decompress-threads");
APPEND(cpuThrottleInitial, "cpu-throttle-initial");
APPEND(cpuThrottleIncrement, "cpu-throttle-increment");
#define APPEND_INT(VAR, FIELD) \
APPEND(params->VAR ## _set, \
virJSONValueObjectAppendNumberInt, VAR, FIELD)
APPEND_INT(compressLevel, "compress-level");
APPEND_INT(compressThreads, "compress-threads");
APPEND_INT(decompressThreads, "decompress-threads");
APPEND_INT(cpuThrottleInitial, "cpu-throttle-initial");
APPEND_INT(cpuThrottleIncrement, "cpu-throttle-increment");
#undef APPEND
#undef APPEND_INT
if (params->migrateTLSAlias &&
virJSONValueObjectAppendString(args, "tls-creds",