Re: [PATCH] Add a notice that only certain functions can print color escape codes
- From
Michael J Gruber <git@drmicha.warpmail.net>
- Date
- Nov 27, 2009, 09:22 UTC
- Message-ID
- <4B0F9A44.7060706@drmicha.warpmail.net>
- In-Reply-To
- <4B0F82E1.80402@viscovery.net>
Johannes Sixt venit, vidit, dixit 27.11.2009 08:42:
Show 34 quoted lines
> Junio C Hamano schrieb: >> Johannes Sixt <j.sixt@viscovery.net> writes: >> >>> Like this? >> >> Yeah, and in addition to "puts", "write(2)" is also not supported, right? > > Correct, good catch! > > --- 8< --- > From: Johannes Sixt <j6t@kdbg.org> > Subject: [PATCH] Add a notice that only certain functions can print color escape codes > > We emulate color escape codes on Windows by overriding printf, fprintf, > and fputs. Warn users that these are the only functions that can be used > to print them. > > Signed-off-by: Johannes Sixt <j6t@kdbg.org> > --- > color.h | 5 +++++ > 1 files changed, 5 insertions(+), 0 deletions(-) > > diff --git a/color.h b/color.h > index 7d8da6f..3cb4b7f 100644 > --- a/color.h > +++ b/color.h > @@ -4,6 +4,11 @@ > /* "\033[1;38;5;2xx;48;5;2xxm\0" is 23 bytes */ > #define COLOR_MAXLEN 24 > > +/* > + * IMPORTANT: Due to the way these color codes are emulated on Windows, > + * write them only using printf(), fprintf(), and fputs(). In particular, > + * do not use puts() or write().
Nor putchar nor putc... but they're part of the puts family, of course. More worthwhile then listing those negatives could be a hint on another positive: color_fprintf and friends which are declared at the end of color.h.
> + */ > #define GIT_COLOR_NORMAL "" > #define GIT_COLOR_RESET "\033[m" > #define GIT_COLOR_BOLD "\033[1m"