Author: jilles
Date: Sun Nov 20 21:48:50 2011
New Revision: 227773
URL: http://svn.freebsd.org/changeset/base/227773

Log:
  sh: Allow unsetting OPTIND.
  
  Note that only assigning the decimal value 1 resets getopts, as before.

Added:
  head/tools/regression/bin/sh/parameters/optind1.0   (contents, props changed)
Modified:
  head/bin/sh/options.c

Modified: head/bin/sh/options.c
==============================================================================
--- head/bin/sh/options.c       Sun Nov 20 21:47:25 2011        (r227772)
+++ head/bin/sh/options.c       Sun Nov 20 21:48:50 2011        (r227773)
@@ -401,9 +401,10 @@ setcmd(int argc, char **argv)
 void
 getoptsreset(const char *value)
 {
-       if (number(value) == 1) {
+       while (*value == '0')
+               value++;
+       if (strcmp(value, "1") == 0)
                shellparam.reset = 1;
-       }
 }
 
 /*

Added: head/tools/regression/bin/sh/parameters/optind1.0
==============================================================================
--- /dev/null   00:00:00 1970   (empty, because file is newly added)
+++ head/tools/regression/bin/sh/parameters/optind1.0   Sun Nov 20 21:48:50 
2011        (r227773)
@@ -0,0 +1,3 @@
+# $FreeBSD$
+
+unset OPTIND && [ -z "$OPTIND" ]
_______________________________________________
svn-src-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to