aboutsummaryrefslogtreecommitdiff
path: root/libgo/go/strings/builder.go
diff options
context:
space:
mode:
Diffstat (limited to 'libgo/go/strings/builder.go')
-rw-r--r--libgo/go/strings/builder.go3
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
}