]> Cypherpunks repositories - gostls13.git/commitdiff
flag: fix bug in handling of booleans on error
authorRob Pike <r@golang.org>
Fri, 27 Jul 2012 23:13:29 +0000 (16:13 -0700)
committerRob Pike <r@golang.org>
Fri, 27 Jul 2012 23:13:29 +0000 (16:13 -0700)
Fixes #3869.

R=golang-dev, dsymonds
CC=golang-dev
https://golang.org/cl/6448072

src/pkg/flag/flag.go

index 3116dafb5a0009631c93a086b4bbc9862b7d674a..bbabd88c8ca394b8b3da43e74f8478a6fb2da896 100644 (file)
@@ -707,7 +707,7 @@ func (f *FlagSet) parseOne() (bool, error) {
        if fv, ok := flag.Value.(*boolValue); ok { // special case: doesn't need an arg
                if has_value {
                        if err := fv.Set(value); err != nil {
-                               f.failf("invalid boolean value %q for  -%s: %v", value, name, err)
+                               return false, f.failf("invalid boolean value %q for  -%s: %v", value, name, err)
                        }
                } else {
                        fv.Set("true")