hush: fix handling of '' in ${var:+ARG}
This wasn't an ash bug in dollar_altvalue9, it was hush bug (and bash!) function old new delta expand_one_var 2236 2254 +18 expand_vars_to_list 1097 1103 +6 ------------------------------------------------------------------------------ (add/remove: 0/0 grow/shrink: 2/0 up/down: 24/0) Total: 24 bytes Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
This commit is contained in:
69
shell/ash_test/ash-quoting/dollar_altvalue2.right
Normal file
69
shell/ash_test/ash-quoting/dollar_altvalue2.right
Normal file
@@ -0,0 +1,69 @@
|
||||
Unquoted '':
|
||||
start:
|
||||
||
|
||||
end
|
||||
start:
|
||||
||
|
||||
end
|
||||
start:
|
||||
||
|
||||
end
|
||||
start:
|
||||
||
|
||||
end
|
||||
start:
|
||||
||
|
||||
||
|
||||
end
|
||||
|
||||
Unquoted "":
|
||||
start:
|
||||
||
|
||||
end
|
||||
start:
|
||||
||
|
||||
end
|
||||
start:
|
||||
||
|
||||
end
|
||||
start:
|
||||
||
|
||||
end
|
||||
start:
|
||||
||
|
||||
||
|
||||
end
|
||||
|
||||
Quoted '':
|
||||
start:
|
||||
|''|
|
||||
end
|
||||
start:
|
||||
|'' |
|
||||
end
|
||||
start:
|
||||
| ''|
|
||||
end
|
||||
start:
|
||||
| '' |
|
||||
end
|
||||
start:
|
||||
|'' ''|
|
||||
end
|
||||
|
||||
Quoted "":
|
||||
start:
|
||||
||
|
||||
end
|
||||
start:
|
||||
| |
|
||||
end
|
||||
start:
|
||||
| |
|
||||
end
|
||||
start:
|
||||
| |
|
||||
end
|
||||
start:
|
||||
| |
|
||||
end
|
33
shell/ash_test/ash-quoting/dollar_altvalue2.tests
Executable file
33
shell/ash_test/ash-quoting/dollar_altvalue2.tests
Executable file
@@ -0,0 +1,33 @@
|
||||
f() { echo start:; for i; do echo "|$i|"; done; echo end; }
|
||||
x=a
|
||||
|
||||
echo "Unquoted '':"
|
||||
f ${x:+''}
|
||||
f ${x:+'' }
|
||||
f ${x:+ ''}
|
||||
f ${x:+ '' }
|
||||
f ${x:+'' ''}
|
||||
|
||||
echo
|
||||
echo 'Unquoted "":'
|
||||
f ${x:+""}
|
||||
f ${x:+"" }
|
||||
f ${x:+ ""}
|
||||
f ${x:+ "" }
|
||||
f ${x:+"" ""}
|
||||
|
||||
echo
|
||||
echo "Quoted '':"
|
||||
f "${x:+''}"
|
||||
f "${x:+'' }"
|
||||
f "${x:+ ''}"
|
||||
f "${x:+ '' }"
|
||||
f "${x:+'' ''}"
|
||||
|
||||
echo
|
||||
echo 'Quoted "":'
|
||||
f "${x:+""}"
|
||||
f "${x:+"" }"
|
||||
f "${x:+ ""}"
|
||||
f "${x:+ "" }"
|
||||
f "${x:+"" ""}"
|
@@ -3,6 +3,7 @@ Unquoted 1:
|
||||
|x y|
|
||||
|1|
|
||||
|2|
|
||||
||
|
||||
|1 2|
|
||||
|A|
|
||||
|B|
|
||||
@@ -14,6 +15,7 @@ Unquoted 2:
|
||||
|ax y|
|
||||
|1|
|
||||
|2|
|
||||
||
|
||||
|1 2|
|
||||
|A|
|
||||
|B|
|
||||
|
Reference in New Issue
Block a user