On Thu, Feb 12, 2015 at 04:18:31PM +0100, Paolo Bonzini wrote: > > > On 12/02/2015 15:22, Igor Mammedov wrote: > > how about replacing a bunch if fprintf's with something like this: > > > > cpu = 0; > > while((cpu = find_next_bit(present_cpus, MAX_CPUMASK_BITS, cpu + 1)) > > !=MAX_CPUMASK_BITS) > > str = g_strdup_printf("%s %d", str, cpu); > > > > error_report("CPU(s) present in multiple NUMA nodes: %s\n", str); > > As written above this leaks memory, and there should be no space before > the final %s. So it's not that simple. :) But using error_report is > nicer indeed, and you can use GString to avoid the leak.
Complex string-building logic was exactly what I was trying to avoid when I decided to use fprintf(). But I didn't know about GString, I will give it a try on the next version. Thanks! -- Eduardo