On Mon, Dec 17, 2012 at 05:01:27PM +0100, Igor Mammedov wrote:
> Signed-off-by: Igor Mammedov <imamm...@redhat.com>
> ---
>  target-i386/cpu.c |    4 +++-
>  1 files changed, 3 insertions(+), 1 deletions(-)
> 
> diff --git a/target-i386/cpu.c b/target-i386/cpu.c
> index 0cb0931..714ae79 100644
> --- a/target-i386/cpu.c
> +++ b/target-i386/cpu.c
> @@ -1326,7 +1326,9 @@ static int cpu_x86_parse_featurestr(x86_def_t 
> *x86_cpu_def, char *features,
>                  if (numvalue < 0x80000000) {
>                      numvalue += 0x80000000;
>                  }
> -                x86_cpu_def->xlevel = numvalue;
> +                val = g_strdup_printf("%u", numvalue);

Why not just eliminate the string->integer conversion entirely, and move
it inside x86_cpuid_set_xlevel()?

> +                qdict_put(*props, featurestr, qstring_from_str(val));

If you made cpu_x86_parse_featurestr() set the properties directly on
the object instead of creating an intermediate directionary, it could
simply call object_property_set_int() (if for some reason it's
impossible to eliminate the string->int conversion above).

> +                g_free(val);
>              } else if (!strcmp(featurestr, "vendor")) {
>                  qdict_put(*props, featurestr, qstring_from_str(val));
>                  x86_cpu_def->vendor_override = true;
> -- 
> 1.7.1
> 
> 

-- 
Eduardo

Reply via email to