with table changes.
NOTE: there is no test for this, but 1) the code has now the same
control flow as scan in exp/locale/collate/contract.go, which is
tested and 2) Builder verifies the generated table so bugs in this
code are quickly and easily found (which is how this bug was discovered).
R=r
CC=golang-dev
https://golang.org/cl/
6461082
e := states[i]
c := str[p]
if c >= e.l {
- p++
if e.l == c {
+ p++
if e.i != noIndex {
index, ns = int(e.i), p
}
} else {
return
}
+ continue
} else if e.n == final && c <= e.h {
+ p++
return int(c-e.l) + int(e.i), p
}
- } else {
- i++
}
+ i++
}
return
}