]> Cypherpunks repositories - gostls13.git/commitdiff
path/filepath: clean up a triple negative.
authorRob Pike <r@golang.org>
Wed, 1 Jun 2011 04:17:09 +0000 (14:17 +1000)
committerRob Pike <r@golang.org>
Wed, 1 Jun 2011 04:17:09 +0000 (14:17 +1000)
also make the error prints better in the test.

R=golang-dev, rsc
CC=golang-dev
https://golang.org/cl/4556069

src/pkg/path/filepath/match.go
src/pkg/path/filepath/match_test.go

index a05bb5f7e71d6c050cb3df885b7545653b8085ed..9c344309d2a6b8061d9ab1857c26edcd2563cb1a 100644 (file)
@@ -124,9 +124,8 @@ func matchChunk(chunk, s string) (rest string, ok bool, err os.Error) {
                        s = s[n:]
                        chunk = chunk[1:]
                        // possibly negated
-                       notNegated := true
-                       if len(chunk) > 0 && chunk[0] == '^' {
-                               notNegated = false
+                       negated := chunk[0] == '^'
+                       if negated {
                                chunk = chunk[1:]
                        }
                        // parse all ranges
@@ -152,7 +151,7 @@ func matchChunk(chunk, s string) (rest string, ok bool, err os.Error) {
                                }
                                nrange++
                        }
-                       if match != notNegated {
+                       if match == negated {
                                return
                        }
 
index 43e1c1cc2f2d237bb75f0ec2767c489f22720c50..a1c8333f3793f7cec4075dc1bdaf330c5d567b9f 100644 (file)
@@ -69,6 +69,13 @@ var matchTests = []MatchTest{
        {"*x", "xxx", true, nil},
 }
 
+func errp(e os.Error) string {
+       if e == nil {
+               return "<nil>"
+       }
+       return e.String()
+}
+
 func TestMatch(t *testing.T) {
        if runtime.GOOS == "windows" {
                // XXX: Don't pass for windows.
@@ -77,7 +84,7 @@ func TestMatch(t *testing.T) {
        for _, tt := range matchTests {
                ok, err := Match(tt.pattern, tt.s)
                if ok != tt.match || err != tt.err {
-                       t.Errorf("Match(%#q, %#q) = %v, %v want %v, nil", tt.pattern, tt.s, ok, err, tt.match)
+                       t.Errorf("Match(%#q, %#q) = %v, %q want %v, %q", tt.pattern, tt.s, ok, errp(err), tt.match, errp(tt.err))
                }
        }
 }