From: Jonathan Nieder Date: Tue, 21 Dec 2010 20:27:55 GMT Subject: [PATCH] t0050: fix printf format strings for portability Message-ID: <20101221202755.GA27214@burratino> In-Reply-To: <4D1105B5.5070703@ramsay1.demon.co.uk> Unlike bash and ksh, dash passes through hexadecimal \xcc escapes. So when run with dash, these tests *pass* (since '\xcc' is a perfectly reasonable filename) but they are not testing what was intended. Use octal escapes instead, in the spirit of v1.6.1-rc1~55^2 (2008-11-09). Reported-by: Ramsay Jones Signed-off-by: Jonathan Nieder --- Ramsay Jones wrote: > I noticed recently that the unicode tests, when run by the dash shell, > have not been working as designed. (The tests *pass*, but they are > *not* testing what was intended) > > In order to demonstrate, I added an "false &&" line after the touch in > test #8, so that (on Ubuntu): > > $ ./t0050-filesystem -i [...] > $ ls trash\ directory.t0050-filesystem/unicode/ > \x61\xcc\x88 Good point. POSIX printf is not required to support \x escape sequences. t/t0050-filesystem.sh | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) diff --git a/t/t0050-filesystem.sh b/t/t0050-filesystem.sh index 057c97c..1542cf6 100755 --- a/t/t0050-filesystem.sh +++ b/t/t0050-filesystem.sh @@ -4,8 +4,8 @@ test_description='Various filesystem issues' . ./test-lib.sh -auml=`printf '\xc3\xa4'` -aumlcdiar=`printf '\x61\xcc\x88'` +auml=$(printf '\303\244') +aumlcdiar=$(printf '\141\314\210') case_insensitive= unibad= -- 1.7.2.3.554.gc9b5c.dirty