'case' UTF-8 bug
Martijn Dekker
martijn at inlv.org
Wed Nov 23 17:52:27 UTC 2016
busybox ash in UTF-8 locale does not like the lowercase Greek letter
'rho' (CF 81) in a case statement.
case "ρ" in
( "ρ" ) echo ok ;;
( * ) echo WRONG ;;
esac
outputs WRONG.
The preceding character π (CF 80) is fine, but the succeeding one ς (CF
82) is not. There are other characters with this effect as well but I
haven't had time to test them. I may follow up if I find the time and
detect a pattern.
This is serious; it means 'case' cannot compare arbitrary UTF-8 strings.
Behaviour confirmed in busybox ash version 1.25.0, 1.24.2, 1.24.1,
1.23.2 and 1.20.0, with ash compiled as a standalone on Linux.
Thanks,
- M.
More information about the busybox
mailing list