[libvirt] [PATCH 2/3] qemu_monitor_json: Build Json CPU Model Info

Erik Skultety eskultet at redhat.com
Mon Apr 16 08:11:52 UTC 2018


On Mon, Apr 16, 2018 at 01:06:57AM -0500, Chris Venteicher wrote:
> Function qemuMonitorJSONBuildCPUModelInfoJSON builds Json of form
> {"model": {"name": "IvyBridge", "props": {}}}
> from pointer to qemuMonitorCPUModelInfo.
> ---
>  src/qemu/qemu_monitor_json.c | 49 ++++++++++++++++++++++++++++++++++++++++++++
>  1 file changed, 49 insertions(+)

...

> +
> +        switch (prop->type) {
> +        case QEMU_MONITOR_CPU_PROPERTY_BOOLEAN:
> +            if (virJSONValueObjectAppendBoolean(cpu_props, prop->name, prop->value.boolean) < 0)
> +                goto cleanup;
> +            break;
> +
> +        case QEMU_MONITOR_CPU_PROPERTY_STRING:
> +            if (virJSONValueObjectAppendString(cpu_props, prop->name, prop->value.string) < 0)
> +                goto cleanup;
> +            break;
> +
> +        case QEMU_MONITOR_CPU_PROPERTY_NUMBER:
> +            if (virJSONValueObjectAppendNumberLong(cpu_props, prop->name, prop->value.number) < 0)
> +                goto cleanup;
> +            break;
> +
> +        case QEMU_MONITOR_CPU_PROPERTY_LAST:
> +            break;

The most recent "correct" way to write switches in libvirt is to do the
following:
    case QEMU_MONITOR_CPU_PROPERTY_LAST:
    default:
        virReportEnumRangeError(qemuMonitorCPUPropertyPtr, prop->type);
        goto cleanup;

Erik




More information about the libvir-list mailing list