natsim

NATS ↔ Instant Messaging Bridge
git clone https://git.instinctive.eu/natsim.git
Log | Files | Refs | README | LICENSE

commit 48e0bacfb50769e3d5a58f0d2e004e0dc39b12c3
parent 02f396810119b6dbbc0517cf2656f37c0c50c2e0
Author: Natasha Kerensikova <natgh@instinctive.eu>
Date:   Fri, 20 Jun 2025 19:13:18 +0000

Transient string builders, rather than a NatsIM member
Diffstat:
Mmain.go | 17++++++++---------
1 file changed, 8 insertions(+), 9 deletions(-)

diff --git a/main.go b/main.go @@ -99,7 +99,6 @@ type NatsIM struct { cmdQueue chan command ircQueue chan string dropped atomic.Uint32 - buf strings.Builder } func NewNatsIM(configPath string) (*NatsIM, error) { @@ -324,21 +323,21 @@ func (natsim *NatsIM) ircSplit(s string) []string { result = append(result, line) } else { for offset := 0; offset < len(line); { + var buf strings.Builder l := len(line) - offset - natsim.buf.Reset() if offset > 0 { - natsim.buf.WriteString(natsim.Irc.ContPrefix) + buf.WriteString(natsim.Irc.ContPrefix) } - if natsim.buf.Len()+l <= natsim.Irc.MaxLine { - natsim.buf.WriteString(line[offset:]) + if buf.Len()+l <= natsim.Irc.MaxLine { + buf.WriteString(line[offset:]) } else { - l = natsim.Irc.MaxLine - natsim.buf.Len() - len(natsim.Irc.ContSuffix) - natsim.buf.WriteString(line[offset : offset+l]) - natsim.buf.WriteString(natsim.Irc.ContSuffix) + l = natsim.Irc.MaxLine - buf.Len() - len(natsim.Irc.ContSuffix) + buf.WriteString(line[offset : offset+l]) + buf.WriteString(natsim.Irc.ContSuffix) } - result = append(result, natsim.buf.String()) + result = append(result, buf.String()) offset += l } }