Re: [PATCH 0/8] Add multi-byte support
Christoph Anton Mitterer <[email protected]>
| Newsgroups | org.kernel.vger.dash |
|---|---|
| Message-ID | <[email protected]> |
Just to give a simple example:
x.sh:
char=ä
printf '%s' "$char" | hd
byte="$( printf '\244' )"
printf '%s' "$byte" | hd
printf '%s' "${char%$byte}" | hd
$ LC_ALL=en_US.UTF-8 bash x.sh
00000000 c3 a4 |..|
00000002
00000000 a4 |.|
00000001
00000000 c3 |.|
00000001
$ LC_ALL=C bash x.sh
00000000 c3 a4 |..|
00000002
00000000 a4 |.|
00000001
00000000 c3 |.|
00000001
$ dash x.sh
00000000 c3 a4 |..|
00000002
00000000 a4 |.|
00000001
00000000 c3 |.|
00000001
but:
$ LC_ALL=en_US.UTF-8 zsh x.sh
00000000 c3 a4 |..|
00000002
00000000 a4 |.|
00000001
00000000 c3 a4 |..|
00000002
$ LC_ALL=C zsh x.sh
00000000 c3 a4 |..|
00000002
00000000 a4 |.|
00000001
00000000 c3 |.|
00000001
Again, not saying that this means dash shouldn't support other
locales... but people may (of course wrongly) rely on the behaviour
that dash is always in the C locale.
Even if that doesn't change right now with the fnmatch()
implementation, it could in principle do so with any change there.
Ceers,
Chris.