On 02/15/2017 11:44 AM, Jiri Denemark wrote: > Signed-off-by: Jiri Denemark <jdenemar@xxxxxxxxxx> > --- > > Notes: > Version 2: > - no change > > src/qemu/qemu_capabilities.c | 4 +++- > src/qemu/qemu_monitor.c | 4 ++-- > src/qemu/qemu_monitor.h | 6 +++++- > src/qemu/qemu_monitor_json.c | 11 +++++++++-- > src/qemu/qemu_monitor_json.h | 4 ++-- > 5 files changed, 21 insertions(+), 8 deletions(-) > > diff --git a/src/qemu/qemu_capabilities.c b/src/qemu/qemu_capabilities.c > index bcfb6b694..20aaaf8f0 100644 > --- a/src/qemu/qemu_capabilities.c > +++ b/src/qemu/qemu_capabilities.c > @@ -2856,7 +2856,9 @@ virQEMUCapsProbeQMPHostCPU(virQEMUCapsPtr qemuCaps, > model = "host"; > } > > - return qemuMonitorGetCPUModelExpansion(mon, "static", model, modelInfo); > + return qemuMonitorGetCPUModelExpansion(mon, > + QEMU_MONITOR_CPU_MODEL_EXPANSION_STATIC, > + model, modelInfo); > } > > struct tpmTypeToCaps { > diff --git a/src/qemu/qemu_monitor.c b/src/qemu/qemu_monitor.c > index a434b234b..a987e107e 100644 > --- a/src/qemu/qemu_monitor.c > +++ b/src/qemu/qemu_monitor.c > @@ -3641,11 +3641,11 @@ qemuMonitorCPUDefInfoFree(qemuMonitorCPUDefInfoPtr cpu) > > int > qemuMonitorGetCPUModelExpansion(qemuMonitorPtr mon, > - const char *type, > + qemuMonitorCPUModelExpansionType type, > const char *model_name, > qemuMonitorCPUModelInfoPtr *model_info) > { > - VIR_DEBUG("type=%s model_name=%s", type, model_name); > + VIR_DEBUG("type=%d model_name=%s", type, model_name); > > QEMU_CHECK_MONITOR_JSON(mon); > > diff --git a/src/qemu/qemu_monitor.h b/src/qemu/qemu_monitor.h > index 112f041f1..b61f1cf54 100644 > --- a/src/qemu/qemu_monitor.h > +++ b/src/qemu/qemu_monitor.h > @@ -948,8 +948,12 @@ struct _qemuMonitorCPUModelInfo { > qemuMonitorCPUPropertyPtr props; > }; > > +typedef enum { > + QEMU_MONITOR_CPU_MODEL_EXPANSION_STATIC, > +} qemuMonitorCPUModelExpansionType; > + If you went with VIR_ENUM_IMPL type logic for the strings, then you could have a _UNKNOWN and _LAST too... > int qemuMonitorGetCPUModelExpansion(qemuMonitorPtr mon, > - const char *type, > + qemuMonitorCPUModelExpansionType type, > const char *model_name, > qemuMonitorCPUModelInfoPtr *model_info); > > diff --git a/src/qemu/qemu_monitor_json.c b/src/qemu/qemu_monitor_json.c > index d89dfb88d..dd7907482 100644 > --- a/src/qemu/qemu_monitor_json.c > +++ b/src/qemu/qemu_monitor_json.c > @@ -5021,7 +5021,7 @@ qemuMonitorJSONParseCPUModelProperty(const char *key, > > int > qemuMonitorJSONGetCPUModelExpansion(qemuMonitorPtr mon, > - const char *type, > + qemuMonitorCPUModelExpansionType type, > const char *model_name, > qemuMonitorCPUModelInfoPtr *model_info) > { > @@ -5034,6 +5034,7 @@ qemuMonitorJSONGetCPUModelExpansion(qemuMonitorPtr mon, > virJSONValuePtr cpu_props; > qemuMonitorCPUModelInfoPtr machine_model = NULL; > char const *cpu_name; > + const char *typeStr = ""; > > *model_info = NULL; > > @@ -5043,8 +5044,14 @@ qemuMonitorJSONGetCPUModelExpansion(qemuMonitorPtr mon, > if (virJSONValueObjectAppendString(model, "name", model_name) < 0) > goto cleanup; > > + switch (type) { > + case QEMU_MONITOR_CPU_MODEL_EXPANSION_STATIC: > + typeStr = "static"; > + break; > + } > + This works, but why not use VIR_ENUM_IMPL type logic? Weak ACK, I think it'd be better to use VIR_ENUM_IMPL. John > if (!(cmd = qemuMonitorJSONMakeCommand("query-cpu-model-expansion", > - "s:type", type, > + "s:type", typeStr, > "a:model", model, > NULL))) > goto cleanup; > diff --git a/src/qemu/qemu_monitor_json.h b/src/qemu/qemu_monitor_json.h > index 79688c82f..59d9f098c 100644 > --- a/src/qemu/qemu_monitor_json.h > +++ b/src/qemu/qemu_monitor_json.h > @@ -354,10 +354,10 @@ int qemuMonitorJSONGetCPUDefinitions(qemuMonitorPtr mon, > ATTRIBUTE_NONNULL(2); > > int qemuMonitorJSONGetCPUModelExpansion(qemuMonitorPtr mon, > - const char *type, > + qemuMonitorCPUModelExpansionType type, > const char *model_name, > qemuMonitorCPUModelInfoPtr *model_info) > - ATTRIBUTE_NONNULL(2) ATTRIBUTE_NONNULL(3) ATTRIBUTE_NONNULL(4); > + ATTRIBUTE_NONNULL(3) ATTRIBUTE_NONNULL(4); > > int qemuMonitorJSONGetCommands(qemuMonitorPtr mon, > char ***commands) > -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list