Commit 8ee98657 authored by Roger Peppe's avatar Roger Peppe Committed by Russ Cox

strings: fix minor bug in LastIndexFunc

R=r, rsc
CC=golang-dev
https://golang.org/cl/2250042
parent b11740fb
...@@ -463,7 +463,7 @@ func lastIndexFunc(s string, f func(r int) bool, truth bool) int { ...@@ -463,7 +463,7 @@ func lastIndexFunc(s string, f func(r int) bool, truth bool) int {
} }
} }
if start < 0 { if start < 0 {
return -1 start = 0
} }
var wid int var wid int
rune, wid = utf8.DecodeRuneInString(s[start:end]) rune, wid = utf8.DecodeRuneInString(s[start:end])
......
...@@ -514,6 +514,7 @@ var indexFuncTests = []IndexFuncTest{ ...@@ -514,6 +514,7 @@ var indexFuncTests = []IndexFuncTest{
IndexFuncTest{"\xc0\xc0\xc0", not(isValidRune), 0, 5}, IndexFuncTest{"\xc0\xc0\xc0", not(isValidRune), 0, 5},
IndexFuncTest{"ab\xc0a\xc0cd", not(isValidRune), 2, 4}, IndexFuncTest{"ab\xc0a\xc0cd", not(isValidRune), 2, 4},
IndexFuncTest{"a\xe0\x80cd", not(isValidRune), 1, 2}, IndexFuncTest{"a\xe0\x80cd", not(isValidRune), 1, 2},
IndexFuncTest{"\x80\x80\x80\x80", not(isValidRune), 0, 3},
} }
func TestIndexFunc(t *testing.T) { func TestIndexFunc(t *testing.T) {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment