summaryrefslogtreecommitdiff
path: root/shell/ash_test
diff options
context:
space:
mode:
authorDenys Vlasenko2017-01-09 08:13:21 +0100
committerDenys Vlasenko2017-01-09 08:13:21 +0100
commit2b1559056cf32c42675ecd937796e1455bcb5c2c (patch)
tree6dc78577d23802be73dbb03990e5352c1d4fa323 /shell/ash_test
parent4e4f88e569e6e32669c856a86c60bb3fc104d588 (diff)
downloadbusybox-2b1559056cf32c42675ecd937796e1455bcb5c2c.zip
busybox-2b1559056cf32c42675ecd937796e1455bcb5c2c.tar.gz
hush: fix a bug in argv restoration after sourcing a file
if sourced file "shift"ed argvs so that $1 is NULL, restore wasn't done. Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
Diffstat (limited to 'shell/ash_test')
-rw-r--r--shell/ash_test/ash-misc/source_argv_and_shift.right4
-rwxr-xr-xshell/ash_test/ash-misc/source_argv_and_shift.tests12
2 files changed, 16 insertions, 0 deletions
diff --git a/shell/ash_test/ash-misc/source_argv_and_shift.right b/shell/ash_test/ash-misc/source_argv_and_shift.right
new file mode 100644
index 0000000..b15cc96
--- /dev/null
+++ b/shell/ash_test/ash-misc/source_argv_and_shift.right
@@ -0,0 +1,4 @@
+sourced_arg1:1
+arg1:
+sourced_arg1:a
+arg1:1
diff --git a/shell/ash_test/ash-misc/source_argv_and_shift.tests b/shell/ash_test/ash-misc/source_argv_and_shift.tests
new file mode 100755
index 0000000..66353f3
--- /dev/null
+++ b/shell/ash_test/ash-misc/source_argv_and_shift.tests
@@ -0,0 +1,12 @@
+echo 'echo sourced_arg1:$1' >sourced1
+echo 'shift' >>sourced1
+
+set -- 1
+. ./sourced1
+echo arg1:$1
+
+set -- 1
+. ./sourced1 a
+echo arg1:$1
+
+rm sourced1