mirror of
https://github.com/golang/go.git
synced 2025-12-08 06:10:04 +00:00
bytes: narrow the search of IndexByte in Index
Change-Id: I5a47b18b64e7f781dcc77440b06de36966e3d01d
GitHub-Last-Rev: 8576f1931d
GitHub-Pull-Request: golang/go#37993
Reviewed-on: https://go-review.googlesource.com/c/go/+/224589
Reviewed-by: Ian Lance Taylor <iant@golang.org>
This commit is contained in:
parent
ab2cc45cc9
commit
1250a324b4
1 changed files with 4 additions and 4 deletions
|
|
@ -1100,11 +1100,11 @@ func Index(s, sep []byte) int {
|
|||
if s[i] != c0 {
|
||||
// IndexByte is faster than bytealg.Index, so use it as long as
|
||||
// we're not getting lots of false positives.
|
||||
o := IndexByte(s[i:t], c0)
|
||||
o := IndexByte(s[i+1:t], c0)
|
||||
if o < 0 {
|
||||
return -1
|
||||
}
|
||||
i += o
|
||||
i += o + 1
|
||||
}
|
||||
if s[i+1] == c1 && Equal(s[i:i+n], sep) {
|
||||
return i
|
||||
|
|
@ -1129,11 +1129,11 @@ func Index(s, sep []byte) int {
|
|||
t := len(s) - n + 1
|
||||
for i < t {
|
||||
if s[i] != c0 {
|
||||
o := IndexByte(s[i:t], c0)
|
||||
o := IndexByte(s[i+1:t], c0)
|
||||
if o < 0 {
|
||||
break
|
||||
}
|
||||
i += o
|
||||
i += o + 1
|
||||
}
|
||||
if s[i+1] == c1 && Equal(s[i:i+n], sep) {
|
||||
return i
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue