]> Cypherpunks repositories - gostls13.git/commitdiff
bytes: improve readability of IndexAny and LastIndexAny functions
authorGabriel Aszalos <gabriel.aszalos@gmail.com>
Mon, 25 Sep 2017 11:01:36 +0000 (13:01 +0200)
committerIan Lance Taylor <iant@golang.org>
Mon, 25 Sep 2017 18:05:01 +0000 (18:05 +0000)
This change removes the check of len(chars) > 0 inside the Index and
IndexAny functions which was redundant.

Change-Id: Ic4bf8b8a37d7f040d3ebd81b4fc45fcb386b639a
Reviewed-on: https://go-review.googlesource.com/65851
Run-TryBot: Ian Lance Taylor <iant@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Ian Lance Taylor <iant@golang.org>
src/bytes/bytes.go

index 446026233e489d83f417453b888889d94b299be0..fe7c09fa9bb8f7ab13879243c32921f70a988314 100644 (file)
@@ -144,29 +144,27 @@ func IndexRune(s []byte, r rune) int {
 // code points in chars. It returns -1 if chars is empty or if there is no code
 // point in common.
 func IndexAny(s []byte, chars string) int {
-       if len(chars) > 0 {
-               if len(s) > 8 {
-                       if as, isASCII := makeASCIISet(chars); isASCII {
-                               for i, c := range s {
-                                       if as.contains(c) {
-                                               return i
-                                       }
+       if len(s) > 8 {
+               if as, isASCII := makeASCIISet(chars); isASCII {
+                       for i, c := range s {
+                               if as.contains(c) {
+                                       return i
                                }
-                               return -1
                        }
+                       return -1
                }
-               var width int
-               for i := 0; i < len(s); i += width {
-                       r := rune(s[i])
-                       if r < utf8.RuneSelf {
-                               width = 1
-                       } else {
-                               r, width = utf8.DecodeRune(s[i:])
-                       }
-                       for _, ch := range chars {
-                               if r == ch {
-                                       return i
-                               }
+       }
+       var width int
+       for i := 0; i < len(s); i += width {
+               r := rune(s[i])
+               if r < utf8.RuneSelf {
+                       width = 1
+               } else {
+                       r, width = utf8.DecodeRune(s[i:])
+               }
+               for _, ch := range chars {
+                       if r == ch {
+                               return i
                        }
                }
        }
@@ -178,24 +176,22 @@ func IndexAny(s []byte, chars string) int {
 // the Unicode code points in chars. It returns -1 if chars is empty or if
 // there is no code point in common.
 func LastIndexAny(s []byte, chars string) int {
-       if len(chars) > 0 {
-               if len(s) > 8 {
-                       if as, isASCII := makeASCIISet(chars); isASCII {
-                               for i := len(s) - 1; i >= 0; i-- {
-                                       if as.contains(s[i]) {
-                                               return i
-                                       }
+       if len(s) > 8 {
+               if as, isASCII := makeASCIISet(chars); isASCII {
+                       for i := len(s) - 1; i >= 0; i-- {
+                               if as.contains(s[i]) {
+                                       return i
                                }
-                               return -1
                        }
+                       return -1
                }
-               for i := len(s); i > 0; {
-                       r, size := utf8.DecodeLastRune(s[:i])
-                       i -= size
-                       for _, c := range chars {
-                               if r == c {
-                                       return i
-                               }
+       }
+       for i := len(s); i > 0; {
+               r, size := utf8.DecodeLastRune(s[:i])
+               i -= size
+               for _, c := range chars {
+                       if r == c {
+                               return i
                        }
                }
        }