On Tue, Dec 09, 2014 at 09:14:29PM +0100, Johannes Sixt wrote: > Am 20.11.2014 um 16:17 schrieb Jeff King: > > +#define COLOR_FOREGROUND '3' > > +#define COLOR_BACKGROUND '4' > > This (COLOR_BACKGROUND) causes an ugly redefinition warning on Windows, > because we inherit a definition from a Windows header. How would you > like it fixed? A different name or #undef in front of it? I think a different name would be fine. The constants are actually only used once each. Their main function is to avoid a confusing parameter '3' to the color_output function. But we could use the literal constants with a parameter, like: diff --git a/color.c b/color.c index e2a0a99..809b359 100644 --- a/color.c +++ b/color.c @@ -144,9 +144,6 @@ int color_parse(const char *value, char *dst) return color_parse_mem(value, strlen(value), dst); } -#define COLOR_FOREGROUND '3' -#define COLOR_BACKGROUND '4' - /* * Write the ANSI color codes for "c" to "out"; the string should * already have the ANSI escape code in it. "out" should have enough @@ -245,12 +242,14 @@ int color_parse_mem(const char *value, int value_len, char *dst) if (!color_empty(&fg)) { if (sep++) *dst++ = ';'; - dst = color_output(dst, &fg, COLOR_FOREGROUND); + /* foreground colors are all in the 3x range */ + dst = color_output(dst, &fg, '3'); } if (!color_empty(&bg)) { if (sep++) *dst++ = ';'; - dst = color_output(dst, &bg, COLOR_BACKGROUND); + /* background colors are all in the 4x range */ + dst = color_output(dst, &bg, '4'); } *dst++ = 'm'; } We could also pass in integer "30" and "40", and then format it with %d inside color_output. I don't know if that would be more obvious or not. -Peff -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html