← Commit list

9e0adb9b0

Denys Vlasenko
Denys Vlasenko
2019-05-15
FAILED Duration: 113s

Subject

hush: fix quoted "${notexist-}" expansion to not disappear

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/ash_test/ash-vars/param_expand_default.right+2 -0
@@ -5,3 +5,5 @@ _aaaa _aaaa _aaaa _aaaa _aaaa
_ _ _ _word _word
_ _ _ _ _word
_fff _fff _fff _fff _fff
+1:1
+0:0
shell/ash_test/ash-vars/param_expand_default.tests+5 -0
@@ -21,3 +21,8 @@ echo _$f _${f-} _${f:-} _${f-word} _${f:-word}
f=fff
echo _$f _${f-} _${f:-} _${f-word} _${f:-word}
+
+set --
+set -- "${1-}"; echo 1:$#
+set --
+set -- ${1-}; echo 0:$#
shell/hush.c+6 -0
@@ -6132,6 +6132,12 @@ static int encode_then_append_var_plusminus(o_string *output, int n,
/* string has no special chars
* && string has no $IFS chars
*/
+ if (dquoted) {
+ /* Prints 1 (quoted expansion is a "" word, not nothing):
+ * set -- "${notexist-}"; echo $#
+ */
+ output->has_quoted_part = 1;
+ }
return expand_vars_to_list(output, n, str);
}
shell/hush_test/hush-vars/param_expand_default.right+2 -0
@@ -6,3 +6,5 @@ _aaaa _aaaa _aaaa _aaaa _aaaa
_ _ _ _word _word
_ _ _ _ _word
_fff _fff _fff _fff _fff
+1:1
+0:0
shell/hush_test/hush-vars/param_expand_default.tests+5 -0
@@ -22,3 +22,8 @@ echo _$f _${f-} _${f:-} _${f-word} _${f:-word}
f=fff
echo _$f _${f-} _${f:-} _${f-word} _${f:-word}
+
+set --
+set -- "${1-}"; echo 1:$#
+set --
+set -- ${1-}; echo 0:$#