diff options
Diffstat (limited to 'libgo/go/strings/builder.go')
-rw-r--r-- | libgo/go/strings/builder.go | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/libgo/go/strings/builder.go b/libgo/go/strings/builder.go index 6ff151d..547e52e84 100644 --- a/libgo/go/strings/builder.go +++ b/libgo/go/strings/builder.go @@ -103,7 +103,8 @@ func (b *Builder) WriteByte(c byte) error { // It returns the length of r and a nil error. func (b *Builder) WriteRune(r rune) (int, error) { b.copyCheck() - if r < utf8.RuneSelf { + // Compare as uint32 to correctly handle negative runes. + if uint32(r) < utf8.RuneSelf { b.buf = append(b.buf, byte(r)) return 1, nil } |