On Wed, Nov 23, 2016 at 6:52 PM, Martijn Dekker <[email protected]> wrote:
> 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.

Can't reproduce:

$ cat z
case "π" in
( "π" ) echo ok ;;
( * )   echo WRONG ;;
esac
case "ρ" in
( "ρ" ) echo ok ;;
( * )   echo WRONG ;;
esac
case "ς" in
( "ς" ) echo ok ;;
( * )   echo WRONG ;;
esac

$ ash --help 2>&1 | head -1
BusyBox v1.22.1 (2014-02-01 19:25:19 CET) multi-call binary.
$ ash z
ok
ok
ok

$ ./busybox ash --help 2>&1 | head -1
BusyBox v1.26.0.git (2016-11-23 06:40:57 CET) multi-call binary.
$ ./busybox ash z
ok
ok
ok

Tried with CONFIG_FEATURE_SH_STANDALONE=y and it still works for me.

Please send your .config
_______________________________________________
busybox mailing list
[email protected]
http://lists.busybox.net/mailman/listinfo/busybox

Reply via email to