← Commit list

43360e517

Denis Vlasenko
Denis Vlasenko
2008-06-10
FAILED Duration: 22s

Subject

hush: fix escaping of \[*?; add testsuites for these and for globbing

Binary

No binary (build failed)

Architecture & Compiler Flags

Architecture: x86_64-linux-gnu Compiler: gcc (Ubuntu 11.4.0-1ubuntu1~22.04.3) 11.4.0

—

Build Log

(log yok)

Commit Diff GitHub →

shell/hush.c+1 -2
@@ -3638,7 +3638,6 @@ static int parse_stream(o_string *dest, struct p_context *ctx,
debug_printf_parse("parse_stream return 1: \\<eof>\n");
return 1;
}
- o_addqchr(dest, '\\', dest->o_quote);
o_addqchr(dest, i_getch(input), dest->o_quote);
break;
case '$':
@@ -3653,7 +3652,7 @@ static int parse_stream(o_string *dest, struct p_context *ctx,
ch = i_getch(input);
if (ch == EOF || ch == '\'')
break;
- o_addchr(dest, ch);
+ o_addqchr(dest, ch, 1);
}
if (ch == EOF) {
syntax("unterminated '");
shell/hush_test/hush-glob/glob1.right+2 -0
@@ -0,0 +1,2 @@
+glob1.tests
+glob1.tests
shell/hush_test/hush-glob/glob1.tests+2 -0
@@ -0,0 +1,2 @@
+echo *glob1?t[e]sts*
+echo "glob1"?'t'[e]s*
shell/hush_test/hush-parsing/escape1.right+4 -0
@@ -0,0 +1,4 @@
+\
+a\b
+\\
+c\\d
shell/hush_test/hush-parsing/escape1.tests+4 -0
@@ -0,0 +1,4 @@
+echo "\\"
+echo a"\\"b
+echo '\\'
+echo c'\\'d
shell/hush_test/hush-parsing/escape2.right+4 -0
@@ -0,0 +1,4 @@
+*?[a]*
+a*?[a]*b
+*?[a]*
+c*?[a]*d
shell/hush_test/hush-parsing/escape2.tests+4 -0
@@ -0,0 +1,4 @@
+echo "*?[a]*"
+echo a"*?[a]*"b
+echo '*?[a]*'
+echo c'*?[a]*'d