Messages in this thread |  | | From | Michael Hudson-Doyle <> | Subject | Re: [PATCH v2] perf tools: Remove cast of non-variadic function to variadic | Date | Fri, 01 Nov 2013 11:10:16 -0700 |
| |
Arnaldo Carvalho de Melo <acme@redhat.com> writes:
> Em Thu, Oct 31, 2013 at 04:47:45PM -0700, Michael Hudson-Doyle escreveu: >> -int percent_color_snprintf(char *bf, size_t size, const char *fmt, double percent) >> +int percent_color_snprintf(char *bf, size_t size, const char *fmt, ...) >> { >> - const char *color = get_percent_color(percent); >> + va_list args; >> + double percent; >> + const char *color; >> + >> + va_start(args, fmt); >> + percent = va_arg(args, double); >> + va_end(args); >> + color = get_percent_color(percent); >> return color_snprintf(bf, size, color, fmt, percent); >> } > > As a bug fix I'm merging this now, but I wonder if, since we're doing > the va_start/end dance here, can't we call some color_vsnprintf variant > so as to avoid doing it twice?
I thought that, but we need to get the percent argument anyway. I couldn't decide if it was better to call color_vsnprintf with args or color_snprintf with percent so I went for the laziest option / minimal diff. Can clearly write a patch for the alternative if you like...
> I'll look into that after going thru more urgent stuff.
Thanks!
Cheers, mwh
|  |