summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDimitri Sokolyuk <demon@dim13.org>2021-01-07 10:32:57 +0100
committerDimitri Sokolyuk <demon@dim13.org>2021-01-07 10:32:57 +0100
commite87b3d2729b883846bf945ecaa8ecfe37800dc0a (patch)
tree9ee2383ed3409b5afe31b83359e8a9dc6a4e4617
parenteef624fb9dd9d99f48613ef33ff998d618341df0 (diff)
-rw-r--r--main.go17
1 files changed, 7 insertions, 10 deletions
diff --git a/main.go b/main.go
index feba5f9..021ee12 100644
--- a/main.go
+++ b/main.go
@@ -3,6 +3,7 @@ package main
import (
"crypto/tls"
"flag"
+ "fmt"
"io"
"log"
"sync"
@@ -14,16 +15,12 @@ import (
irc "github.com/fluffle/goirc/client"
)
-const maxLen = 450
-
-type limitString string
-
-func (s limitString) String() string {
- r := []rune(s)
- if sz := len(r); sz > maxLen {
- r = append(r[:maxLen-3], []rune("...")...)
+func limit(s string) string {
+ const maxLen = 450
+ if len(s) > maxLen {
+ return fmt.Sprintf("%.*s...", maxLen-3, s)
}
- return string(r)
+ return s
}
type room struct {
@@ -36,7 +33,7 @@ func roomWriter(conn *irc.Conn, target string) *room {
}
func (n *room) Write(p []byte) (int, error) {
- n.conn.Notice(n.target, limitString(p).String())
+ n.conn.Notice(n.target, limit(string(p)))
return len(p), nil
}