diff options
-rwxr-xr-x | shell/ash_test/ash-redir/redir7.tests | 4 | ||||
-rw-r--r-- | shell/ash_test/ash-redir/redir8.right | 3 | ||||
-rwxr-xr-x | shell/ash_test/ash-redir/redir8.tests | 15 |
3 files changed, 21 insertions, 1 deletions
diff --git a/shell/ash_test/ash-redir/redir7.tests b/shell/ash_test/ash-redir/redir7.tests index e9bedd0..17d1040 100755 --- a/shell/ash_test/ash-redir/redir7.tests +++ b/shell/ash_test/ash-redir/redir7.tests @@ -2,7 +2,9 @@ # 0x81 is CTLESC (see ash.c). # The bug was that quoting and unquoting of them # was out of sync for redirect filenames. -echo -e 'echo Ok >uni\x81code' >unicode.sh + +>unicode.sh +echo -e 'echo Ok >uni\x81code' >>unicode.sh echo -e 'cat uni\x81code' >>unicode.sh echo -e 'cat uni?code' >>unicode.sh . unicode.sh diff --git a/shell/ash_test/ash-redir/redir8.right b/shell/ash_test/ash-redir/redir8.right new file mode 100644 index 0000000..6430b02 --- /dev/null +++ b/shell/ash_test/ash-redir/redir8.right @@ -0,0 +1,3 @@ +Ok +Ok +Done diff --git a/shell/ash_test/ash-redir/redir8.tests b/shell/ash_test/ash-redir/redir8.tests new file mode 100755 index 0000000..32ab607 --- /dev/null +++ b/shell/ash_test/ash-redir/redir8.tests @@ -0,0 +1,15 @@ +# Chars above 0x7f are used as special codes. +# 0x81 is CTLESC (see ash.c). +# The bug was that quoting and unquoting of them +# was out of sync for redirect filenames. + +# Subcase when redirect filename is specified in a variable. + +>unicode.sh +echo -e 'v=uni\x81code' >>unicode.sh +echo -e 'echo Ok >"$v"' >>unicode.sh +echo -e 'cat uni\x81code' >>unicode.sh +echo -e 'cat uni?code' >>unicode.sh +. unicode.sh +rm uni*code* +echo Done |