Arnaldo Carvalho de Melo wrote: >> The issue with this suggestion is that the prototype of >> percent_color_snprintf() is: >> >> int percent_color_snprintf(char *bf, size_t size, const char *fmt, ...) >> >> So, I can only pass value_color_snprintf() a va_list, making its prototype: >> >> int value_color_snprintf(char *bf, size_t size, const char *fmt, va_list >> args) >> >> Is this worth the minor rename? > > That is ok, I'd say. Or if that would be a problem one could consider > using a macro, perhaps.
If value_color_snprintf has the prototype mentioned above, I'd have to build a va_list at each callsite; how is that convenient? Considering the macro, can we just do #define percent_color_snprintf value_color_snprintf in color.h? >> On a related note, does percent_color_snprintf() need to be a variadic >> function? It only seems to process one percent value. > > I think that there are places where it is passed as a pointer that > expects it to have that prototype, this is from memory, so please check. I meant that the function body itself seems to be wrong: 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); Unless I've misunderstood something horribly, doesn't `percent' just get assigned to the last argument in the `args' va_list? -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/

