From e87b3d2729b883846bf945ecaa8ecfe37800dc0a Mon Sep 17 00:00:00 2001 From: Dimitri Sokolyuk Date: Thu, 7 Jan 2021 10:32:57 +0100 Subject: kiss --- main.go | 17 +++++++---------- 1 file 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 } -- cgit v1.2.3