From 6aded2524cb77eeab907e64512c5f7c54b530756 Mon Sep 17 00:00:00 2001 From: Andy Pan Date: Mon, 23 Mar 2020 04:53:40 +0000 Subject: [PATCH] strings: narrow the search range of IndexByte in Index Same as https://golang.org/cl/224589. Change-Id: I6a9e2ea60bf6e1888a95bad0331c92079a7eff99 GitHub-Last-Rev: 81c13c0f5b2ee6ae7842a7b73799b7821f78be59 GitHub-Pull-Request: golang/go#38016 Reviewed-on: https://go-review.googlesource.com/c/go/+/224593 Run-TryBot: Ian Lance Taylor TryBot-Result: Gobot Gobot Reviewed-by: Ian Lance Taylor --- src/strings/strings.go | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/strings/strings.go b/src/strings/strings.go index 2789f5fb25..6d78b9ef16 100644 --- a/src/strings/strings.go +++ b/src/strings/strings.go @@ -1044,11 +1044,11 @@ func Index(s, substr string) int { if s[i] != c0 { // IndexByte is faster than bytealg.IndexString, 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 && s[i:i+n] == substr { return i @@ -1073,11 +1073,11 @@ func Index(s, substr string) int { fails := 0 for i < t { if s[i] != c0 { - 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 && s[i:i+n] == substr { return i -- 2.48.1