summaryrefslogtreecommitdiff
path: root/shell/hush.c
diff options
context:
space:
mode:
authorDenys Vlasenko2019-05-15 13:39:19 +0200
committerDenys Vlasenko2019-05-15 13:39:19 +0200
commit9e0adb9b09ec14afe2e5a222dda1c447f336ea06 (patch)
tree49ba7977aab90ee21b90f30cd49d68a1bb715585 /shell/hush.c
parent8402969d4892891ddfde524fbb9ee73e076f3771 (diff)
downloadbusybox-9e0adb9b09ec14afe2e5a222dda1c447f336ea06.zip
busybox-9e0adb9b09ec14afe2e5a222dda1c447f336ea06.tar.gz
hush: fix quoted "${notexist-}" expansion to not disappear
function old new delta expand_one_var 2296 2311 +15 Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
Diffstat (limited to 'shell/hush.c')
-rw-r--r--shell/hush.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/shell/hush.c b/shell/hush.c
index b612c80..a103e81 100644
--- a/shell/hush.c
+++ b/shell/hush.c
@@ -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);
}