diff options
author | Denys Vlasenko | 2021-07-26 15:29:13 +0200 |
---|---|---|
committer | Denys Vlasenko | 2021-07-26 15:32:46 +0200 |
commit | b278d82c61ab5125b5c7e350b264c1f3d52d682b (patch) | |
tree | f2c0a2c2bd630b22f7eebee1d63eb810e480b4e5 /shell/hush_test/hush-quoting | |
parent | 05c5d745f7b14e265144489b7809a3d6dbbadec6 (diff) | |
download | busybox-b278d82c61ab5125b5c7e350b264c1f3d52d682b.zip busybox-b278d82c61ab5125b5c7e350b264c1f3d52d682b.tar.gz |
hush: implement $'str' bashism
function old new delta
parse_dollar_squote - 441 +441
encode_then_expand_vararg 359 380 +21
parse_stream 2252 2271 +19
------------------------------------------------------------------------------
(add/remove: 1/0 grow/shrink: 2/0 up/down: 481/0) Total: 481 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
Diffstat (limited to 'shell/hush_test/hush-quoting')
4 files changed, 34 insertions, 0 deletions
diff --git a/shell/hush_test/hush-quoting/dollar_squote_bash1.right b/shell/hush_test/hush-quoting/dollar_squote_bash1.right new file mode 100644 index 0000000..9f4e25e --- /dev/null +++ b/shell/hush_test/hush-quoting/dollar_squote_bash1.right @@ -0,0 +1,10 @@ +a b +$'a\tb' +a +b c +def +a'b c"d e\f +a3b c3b e33f +a\80b c08b +a3b c30b +x y diff --git a/shell/hush_test/hush-quoting/dollar_squote_bash1.tests b/shell/hush_test/hush-quoting/dollar_squote_bash1.tests new file mode 100755 index 0000000..6fc411b --- /dev/null +++ b/shell/hush_test/hush-quoting/dollar_squote_bash1.tests @@ -0,0 +1,8 @@ +echo $'a\tb' +echo "$'a\tb'" +echo $'a\nb' $'c\nd''ef' +echo $'a\'b' $'c\"d' $'e\\f' +echo $'a\63b' $'c\063b' $'e\0633f' +echo $'a\80b' $'c\608b' +echo $'a\x33b' $'c\x330b' +echo $'x\x9y' diff --git a/shell/hush_test/hush-quoting/dollar_squote_bash2.right b/shell/hush_test/hush-quoting/dollar_squote_bash2.right new file mode 100644 index 0000000..f7a1731 --- /dev/null +++ b/shell/hush_test/hush-quoting/dollar_squote_bash2.right @@ -0,0 +1,6 @@ +strstrstrstrstrstrstrstrstrstrstrstrstrstrstrstrstr +strstrstrstrstrstrstrstrstrstrstrstrstrstrstrstrstr +80:\ +81:\ +82:\ +Done:0 diff --git a/shell/hush_test/hush-quoting/dollar_squote_bash2.tests b/shell/hush_test/hush-quoting/dollar_squote_bash2.tests new file mode 100755 index 0000000..4497728 --- /dev/null +++ b/shell/hush_test/hush-quoting/dollar_squote_bash2.tests @@ -0,0 +1,10 @@ +# Embedded NULs +echo $'str\x00'strstrstrstrstrstrstrstrstrstrstrstrstrstrstrstr +echo $'str\000'strstrstrstrstrstrstrstrstrstrstrstrstrstrstrstr + +# The chars after '\' are hex 0x80,81,82... +echo 80:$'\' +echo 81:$'\' +echo 82:$'\' + +echo Done:$? |