[git commit] hush: do not process options after non-option args
Denys Vlasenko
vda.linux at googlemail.com
Thu Aug 20 01:38:58 UTC 2009
commit: http://git.busybox.net/busybox/commit/?id=a67a9627d0ada5214d43d06a34387cd9604108c8
branch: http://git.busybox.net/busybox/commit/?id=refs/heads/master
Signed-off-by: Denys Vlasenko <vda.linux at googlemail.com>
---
shell/hush.c | 2 +-
shell/hush_test/hush-misc/opts1.right | 2 ++
shell/hush_test/hush-misc/opts1.tests | 5 +++++
3 files changed, 8 insertions(+), 1 deletions(-)
create mode 100644 shell/hush_test/hush-misc/opts1.right
create mode 100755 shell/hush_test/hush-misc/opts1.tests
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
--
1.6.3.3
More information about the busybox-cvs
mailing list