aboutsummaryrefslogtreecommitdiff
path: root/libgo/go/regexp/syntax/prog.go
diff options
context:
space:
mode:
Diffstat (limited to 'libgo/go/regexp/syntax/prog.go')
-rw-r--r--libgo/go/regexp/syntax/prog.go3
1 files changed, 2 insertions, 1 deletions
diff --git a/libgo/go/regexp/syntax/prog.go b/libgo/go/regexp/syntax/prog.go
index ae7a9a2..8583f55 100644
--- a/libgo/go/regexp/syntax/prog.go
+++ b/libgo/go/regexp/syntax/prog.go
@@ -8,6 +8,7 @@ import (
"strconv"
"strings"
"unicode"
+ "unicode/utf8"
)
// Compiled program.
@@ -154,7 +155,7 @@ func (p *Prog) Prefix() (prefix string, complete bool) {
// Have prefix; gather characters.
var buf strings.Builder
- for i.op() == InstRune && len(i.Rune) == 1 && Flags(i.Arg)&FoldCase == 0 {
+ for i.op() == InstRune && len(i.Rune) == 1 && Flags(i.Arg)&FoldCase == 0 && i.Rune[0] != utf8.RuneError {
buf.WriteRune(i.Rune[0])
i = p.skipNop(i.Out)
}