On Fri, Nov 7, 2014 at 2:30 PM, Norihiro Tanaka <nori...@kcn.ne.jp> wrote:
> Jim Meyering <j...@meyering.net> wrote:
>
>> I ran grep's tests on a debian system this morning and was
>> surprised to see the word-multibyte test fail...
>> Until I realized it was because that system was configured
>> to use dash for /bin/sh, and this test relied on the unportable
>> printf '\xc3\xa1\n' to print an a (A-grave).  Using \xHH
>> hexadecimal constants works with bash and zsh, but that
>> is not portable, and dash's printf built-in emits the 9 bytes
>> rather than the expected three.
>>
>> This isn't the first time this has happened, so I'll be writing
>> a syntax-check rule to help avoid another repeat.
>>
>> Here's how I've fixed it:
>
> Thanks, but it seem that it is also unportable.  On Solaris 10 and AIX 7,
> below.  Need Gawk for tests?
>
> $ awk 'BEGIN { printf "\x41" }' </dev/null
> \x41
>
> BTW, On Solaris 10, AIX 7, HP-UX 11.23, below.
>
> $ /usr/bin/printf '\x41'
> \x41

Thank you for testing and reporting that!
I have a marked preference for using hexadecimal (readability),
but if I can't find a good, universally-portable converter that is
sufficiently simple, I'll just revert to using octal.



Reply via email to