diff options
author | Denys Vlasenko <vda.linux@googlemail.com> | 2017-01-09 08:13:21 +0100 |
---|---|---|
committer | Denys Vlasenko <vda.linux@googlemail.com> | 2017-01-09 08:13:21 +0100 |
commit | 2b1559056cf32c42675ecd937796e1455bcb5c2c (patch) | |
tree | 6dc78577d23802be73dbb03990e5352c1d4fa323 /shell/hush_test | |
parent | 4e4f88e569e6e32669c856a86c60bb3fc104d588 (diff) | |
download | busybox-w32-2b1559056cf32c42675ecd937796e1455bcb5c2c.tar.gz busybox-w32-2b1559056cf32c42675ecd937796e1455bcb5c2c.tar.bz2 busybox-w32-2b1559056cf32c42675ecd937796e1455bcb5c2c.zip |
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/hush_test')
-rw-r--r-- | shell/hush_test/hush-misc/source_argv_and_shift.right | 4 | ||||
-rwxr-xr-x | shell/hush_test/hush-misc/source_argv_and_shift.tests | 12 |
2 files changed, 16 insertions, 0 deletions
diff --git a/shell/hush_test/hush-misc/source_argv_and_shift.right b/shell/hush_test/hush-misc/source_argv_and_shift.right new file mode 100644 index 000000000..b15cc96e7 --- /dev/null +++ b/shell/hush_test/hush-misc/source_argv_and_shift.right | |||
@@ -0,0 +1,4 @@ | |||
1 | sourced_arg1:1 | ||
2 | arg1: | ||
3 | sourced_arg1:a | ||
4 | arg1:1 | ||
diff --git a/shell/hush_test/hush-misc/source_argv_and_shift.tests b/shell/hush_test/hush-misc/source_argv_and_shift.tests new file mode 100755 index 000000000..66353f3d7 --- /dev/null +++ b/shell/hush_test/hush-misc/source_argv_and_shift.tests | |||
@@ -0,0 +1,12 @@ | |||
1 | echo 'echo sourced_arg1:$1' >sourced1 | ||
2 | echo 'shift' >>sourced1 | ||
3 | |||
4 | set -- 1 | ||
5 | . ./sourced1 | ||
6 | echo arg1:$1 | ||
7 | |||
8 | set -- 1 | ||
9 | . ./sourced1 a | ||
10 | echo arg1:$1 | ||
11 | |||
12 | rm sourced1 | ||