From c5f4867ffaffc29f9f99c913916ffc9991750d42 Mon Sep 17 00:00:00 2001
From: Russ Cox <rsc@golang.org>
Date: Tue, 18 Nov 2008 17:23:11 -0800
Subject: [PATCH] stop flag reading before lone - arg.

R=r
DELTA=5  (3 added, 0 deleted, 2 changed)
OCL=19520
CL=19529
---
 src/lib/flag.go | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/src/lib/flag.go b/src/lib/flag.go
index 7baa72a852..a1189a67fa 100644
--- a/src/lib/flag.go
+++ b/src/lib/flag.go
@@ -32,7 +32,10 @@ package flag
  *		-flag=x
  *		-flag x
  *	One or two minus signs may be used; they are equivalent.
- *	A lone -- terminates the parsing of the command line.
+ *
+ *	Flag parsing stops just before the first non-flag argument
+ *	("-" is a non-flag argument) or after the terminator "--".
+ *
  *	Integer flags accept 1234, 0664, 0x1234 and may be negative.
  *	Boolean flags may be 1, 0, t, f, true, false, TRUE, FALSE, True, False.
  */
@@ -397,7 +400,7 @@ func (f *Flags) ParseOne(index int) (ok bool, next int)
 	}
 	num_minuses := 1;
 	if len(s) == 1 {
-		return false, -1
+		return false, index
 	}
 	if s[1] == '-' {
 		num_minuses++;
-- 
2.30.9