diff options
author | Denis Vlasenko <vda.linux@googlemail.com> | 2008-06-10 20:13:40 +0000 |
---|---|---|
committer | Denis Vlasenko <vda.linux@googlemail.com> | 2008-06-10 20:13:40 +0000 |
commit | 43360e51781942730f91bb19821e3f8f1087e4fa (patch) | |
tree | aed87780129aa4f24a47c868c1067bf44b92a55b /shell/hush.c | |
parent | 2e76c3f9016f674dad7a38ec7ba5b068d233f189 (diff) | |
download | busybox-w32-43360e51781942730f91bb19821e3f8f1087e4fa.tar.gz busybox-w32-43360e51781942730f91bb19821e3f8f1087e4fa.tar.bz2 busybox-w32-43360e51781942730f91bb19821e3f8f1087e4fa.zip |
hush: fix escaping of \[*?; add testsuites for these and for globbing
Diffstat (limited to 'shell/hush.c')
-rw-r--r-- | shell/hush.c | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/shell/hush.c b/shell/hush.c index 82bad664d..e57f6e371 100644 --- a/shell/hush.c +++ b/shell/hush.c | |||
@@ -3638,7 +3638,6 @@ static int parse_stream(o_string *dest, struct p_context *ctx, | |||
3638 | debug_printf_parse("parse_stream return 1: \\<eof>\n"); | 3638 | debug_printf_parse("parse_stream return 1: \\<eof>\n"); |
3639 | return 1; | 3639 | return 1; |
3640 | } | 3640 | } |
3641 | o_addqchr(dest, '\\', dest->o_quote); | ||
3642 | o_addqchr(dest, i_getch(input), dest->o_quote); | 3641 | o_addqchr(dest, i_getch(input), dest->o_quote); |
3643 | break; | 3642 | break; |
3644 | case '$': | 3643 | case '$': |
@@ -3653,7 +3652,7 @@ static int parse_stream(o_string *dest, struct p_context *ctx, | |||
3653 | ch = i_getch(input); | 3652 | ch = i_getch(input); |
3654 | if (ch == EOF || ch == '\'') | 3653 | if (ch == EOF || ch == '\'') |
3655 | break; | 3654 | break; |
3656 | o_addchr(dest, ch); | 3655 | o_addqchr(dest, ch, 1); |
3657 | } | 3656 | } |
3658 | if (ch == EOF) { | 3657 | if (ch == EOF) { |
3659 | syntax("unterminated '"); | 3658 | syntax("unterminated '"); |