From b8e1aeb66359e69260a47f6903fccc47e2802141 Mon Sep 17 00:00:00 2001
From: Garet Halliday <me@garet.holiday>
Date: Thu, 12 Oct 2023 18:19:52 -0500
Subject: [PATCH] use ReadString

---
 lib/fed/decoder.go | 19 +++++--------------
 1 file changed, 5 insertions(+), 14 deletions(-)

diff --git a/lib/fed/decoder.go b/lib/fed/decoder.go
index b61aeb8d..ffb54805 100644
--- a/lib/fed/decoder.go
+++ b/lib/fed/decoder.go
@@ -5,7 +5,6 @@ import (
 	"encoding/binary"
 	"io"
 	"math"
-	"strings"
 
 	"gfx.cafe/gfx/pggat/lib/util/decorator"
 )
@@ -148,20 +147,12 @@ func (T *Decoder) Float64() (float64, error) {
 }
 
 func (T *Decoder) String() (string, error) {
-	var s strings.Builder
-	for {
-		b, err := T.Reader.ReadByte()
-		T.pos += 1
-		if err != nil {
-			return "", err
-		}
-		if b == '\x00' {
-			break
-		} else {
-			s.WriteByte(b)
-		}
+	s, err := T.Reader.ReadString(0)
+	if err != nil {
+		return "", err
 	}
-	return s.String(), nil
+	T.pos += len(s)
+	return s[:len(s)-1], nil
 }
 
 func (T *Decoder) Remaining() ([]byte, error) {
-- 
GitLab