diff options
author | Denys Vlasenko | 2009-08-20 03:38:58 +0200 |
---|---|---|
committer | Denys Vlasenko | 2009-08-20 03:38:58 +0200 |
commit | a67a9627d0ada5214d43d06a34387cd9604108c8 (patch) | |
tree | 5f227c2f71857e11636cebdd57f547332b137050 | |
parent | ffc39202aad7858bbe4a894f0e81e7ec313b5478 (diff) | |
download | busybox-a67a9627d0ada5214d43d06a34387cd9604108c8.zip busybox-a67a9627d0ada5214d43d06a34387cd9604108c8.tar.gz |
hush: do not process options after non-option args
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
-rw-r--r-- | shell/hush.c | 2 | ||||
-rw-r--r-- | shell/hush_test/hush-misc/opts1.right | 2 | ||||
-rwxr-xr-x | shell/hush_test/hush-misc/opts1.tests | 5 |
3 files changed, 8 insertions, 1 deletions
diff --git a/shell/hush.c b/shell/hush.c index 08e7f50..b71e1b6 100644 --- a/shell/hush.c +++ b/shell/hush.c @@ -6461,7 +6461,7 @@ int hush_main(int argc, char **argv) /* http://www.opengroup.org/onlinepubs/9699919799/utilities/sh.html */ builtin_argc = 0; while (1) { - opt = getopt(argc, argv, "c:xins" + opt = getopt(argc, argv, "+c:xins" #if !BB_MMU "<:$:R:V:" # if ENABLE_HUSH_FUNCTIONS diff --git a/shell/hush_test/hush-misc/opts1.right b/shell/hush_test/hush-misc/opts1.right new file mode 100644 index 0000000..4da7573 --- /dev/null +++ b/shell/hush_test/hush-misc/opts1.right @@ -0,0 +1,2 @@ +Param1: >-10qwertyuiop< +Done diff --git a/shell/hush_test/hush-misc/opts1.tests b/shell/hush_test/hush-misc/opts1.tests new file mode 100755 index 0000000..45a23d6 --- /dev/null +++ b/shell/hush_test/hush-misc/opts1.tests @@ -0,0 +1,5 @@ +if test $# = 0; then + exec "$THIS_SH" $0 -10qwertyuiop +fi +echo "Param1: >$1<" +echo Done |