diff options
Diffstat (limited to 'vendor/github.com/lrstanley/girc/event.go')
-rw-r--r-- | vendor/github.com/lrstanley/girc/event.go | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/vendor/github.com/lrstanley/girc/event.go b/vendor/github.com/lrstanley/girc/event.go index 0ca06976..7801615d 100644 --- a/vendor/github.com/lrstanley/girc/event.go +++ b/vendor/github.com/lrstanley/girc/event.go @@ -52,7 +52,7 @@ func ParseEvent(raw string) (e *Event) { i = 0 } - if raw[0] == messagePrefix { + if raw != "" && raw[0] == messagePrefix { // Prefix ends with a space. i = strings.IndexByte(raw, eventSpace) @@ -297,7 +297,9 @@ func (e *Event) Bytes() []byte { buffer.Truncate(maxLength) } - out := buffer.Bytes() + // If we truncated in the middle of a utf8 character, we need to remove + // the other (now invalid) bytes. + out := bytes.ToValidUTF8(buffer.Bytes(), nil) // Strip newlines and carriage returns. for i := 0; i < len(out); i++ { |