Re: [PATCH v1] msvc: fix non-standard escape sequence in source
- From
Junio C Hamano <gitster@pobox.com>
- Date
- Jul 24, 2018, 18:03 UTC
- Message-ID
- <xmqq6014zf33.fsf@gitster-ct.c.googlers.com>
- In-Reply-To
- <20180724144249.2857-1-git@jeffhostetler.com>
git@jeffhostetler.com writes:
Show 10 quoted lines
> From: Jeff Hostetler <jeffhost@microsoft.com> > > Replace non-standard "\e" escape sequence with "\x1B". > > In commit 7a17918c34f4e83982456ffe22d880c3cda5384f a trace message with > several "\e" escape sequences was added. This causes a compiler warning > under MSVC. > > According to [1], the "\e" sequence is an extension supported by GCC, > clang, and tcc.
Good spotting. Please spell it \x1b (or \033 if you are a traditionalist), as it seems nobody in the existing code uses uppercase, according to
$ git grep -e '\\x[A-F][0-9A-F]' -e '\\x[0-9A-F][A-F]' \*.c
and "\033" is already used in many places
$ git grep -e '\\0[0-7][0-7]' \*.c
Show 20 quoted lines
> [1] https://en.wikipedia.org/wiki/Escape_sequences_in_C
>
> Signed-off-by: Jeff Hostetler <jeffhost@microsoft.com>
> ---
> convert.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/convert.c b/convert.c
> index 56cfe31..52092be 100644
> --- a/convert.c
> +++ b/convert.c
> @@ -335,7 +335,7 @@ static void trace_encoding(const char *context, const char *path,
> strbuf_addf(&trace, "%s (%s, considered %s):\n", context, path, encoding);
> for (i = 0; i < len && buf; ++i) {
> strbuf_addf(
> - &trace,"| \e[2m%2i:\e[0m %2x \e[2m%c\e[0m%c",
> + &trace,"| \x1B[2m%2i:\x1B[0m %2x \x1B[2m%c\x1B[0m%c",
> i,
> (unsigned char) buf[i],
> (buf[i] > 32 && buf[i] < 127 ? buf[i] : ' '),