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