Subject: Re: [PATCH v3] CodingGuidelines: use octal escapes, not hex

From: Junio C Hamano <[email-masked]>
Date: Wed, 14 Jun 2023 14:54:50 -0700

Jonathan Tan <[email-masked]> writes:

> Extend the shell-scripting section of CodingGuidelines to suggest octal
> escape sequences (e.g. "\302\242") over hexadecimal (e.g. "\xc2\xa2")
> since the latter can be a source of portability problems.

Sounds good.  On a typical GNU system, /usr/bin/printf as well as
printf built into bash groks "\x<hex>" escapes in its format string,
but we cannot depend on it because POSIX does not require support
for "\x<hex>", and printf built into dash indeed does not.  It is a
good idea to stress that this is specifically about the format
string (in other words, nothing magical happens when using octal or
hex escapes in say "printf '%s\n' '\302\242'").

> + - Use octal escape sequences (e.g. "\302\242"), not hexadecimal (e.g.
> +   "\xc2\xa2") in printf format strings, since hexadecimal escape
> +   sequences are not portable.

Will queue.  Thanks.