svn commit: r227773 - in head: bin/sh tools/regression/bin/sh/parameters

Jilles Tjoelker jilles at FreeBSD.org
Sun Nov 20 21:48:50 UTC 2011


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" ]


More information about the svn-src-all mailing list