From 2e404b769dc3164a8e78547c86a3e3451ed3f306 Mon Sep 17 00:00:00 2001 From: Joe Tsai Date: Thu, 8 Feb 2024 17:55:03 -0800 Subject: [PATCH] all: use new AppendEncode methods available in Go 1.22 (#11079) Updates #cleanup Signed-off-by: Joe Tsai --- taildrop/resume.go | 13 ++----------- tka/aum.go | 11 +---------- types/key/util.go | 10 +--------- types/logid/id.go | 16 ++++------------ 4 files changed, 8 insertions(+), 42 deletions(-) diff --git a/taildrop/resume.go b/taildrop/resume.go index dfcc408c3..f7bee3d95 100644 --- a/taildrop/resume.go +++ b/taildrop/resume.go @@ -11,7 +11,6 @@ "io" "io/fs" "os" - "slices" "strings" ) @@ -37,10 +36,10 @@ func (cs Checksum) String() string { return hex.EncodeToString(cs.cs[:]) } func (cs Checksum) AppendText(b []byte) ([]byte, error) { - return hexAppendEncode(b, cs.cs[:]), nil + return hex.AppendEncode(b, cs.cs[:]), nil } func (cs Checksum) MarshalText() ([]byte, error) { - return hexAppendEncode(nil, cs.cs[:]), nil + return hex.AppendEncode(nil, cs.cs[:]), nil } func (cs *Checksum) UnmarshalText(b []byte) error { if len(b) != 2*len(cs.cs) { @@ -50,14 +49,6 @@ func (cs *Checksum) UnmarshalText(b []byte) error { return err } -// TODO(https://go.dev/issue/53693): Use hex.AppendEncode instead. -func hexAppendEncode(dst, src []byte) []byte { - n := hex.EncodedLen(len(src)) - dst = slices.Grow(dst, n) - hex.Encode(dst[len(dst):][:n], src) - return dst[:len(dst)+n] -} - // PartialFiles returns a list of partial files in [Handler.Dir] // that were sent (or is actively being sent) by the provided id. func (m *Manager) PartialFiles(id ClientID) (ret []string, err error) { diff --git a/tka/aum.go b/tka/aum.go index d1f079398..07a34b4f6 100644 --- a/tka/aum.go +++ b/tka/aum.go @@ -9,7 +9,6 @@ "encoding/base32" "errors" "fmt" - "slices" "github.com/fxamacker/cbor/v2" "golang.org/x/crypto/blake2s" @@ -39,17 +38,9 @@ func (h *AUMHash) UnmarshalText(text []byte) error { return nil } -// TODO(https://go.dev/issue/53693): Use base32.Encoding.AppendEncode instead. -func base32AppendEncode(enc *base32.Encoding, dst, src []byte) []byte { - n := enc.EncodedLen(len(src)) - dst = slices.Grow(dst, n) - enc.Encode(dst[len(dst):][:n], src) - return dst[:len(dst)+n] -} - // AppendText implements encoding.TextAppender. func (h AUMHash) AppendText(b []byte) ([]byte, error) { - return base32AppendEncode(base32StdNoPad, b, h[:]), nil + return base32StdNoPad.AppendEncode(b, h[:]), nil } // MarshalText implements encoding.TextMarshaler. diff --git a/types/key/util.go b/types/key/util.go index f20cb4279..bdb2a06f6 100644 --- a/types/key/util.go +++ b/types/key/util.go @@ -53,18 +53,10 @@ func clamp25519Private(b []byte) { func appendHexKey(dst []byte, prefix string, key []byte) []byte { dst = slices.Grow(dst, len(prefix)+hex.EncodedLen(len(key))) dst = append(dst, prefix...) - dst = hexAppendEncode(dst, key) + dst = hex.AppendEncode(dst, key) return dst } -// TODO(https://go.dev/issue/53693): Use hex.AppendEncode instead. -func hexAppendEncode(dst, src []byte) []byte { - n := hex.EncodedLen(len(src)) - dst = slices.Grow(dst, n) - hex.Encode(dst[len(dst):][:n], src) - return dst[:len(dst)+n] -} - // parseHex decodes a key string of the form "" // into out. The prefix must match, and the decoded base64 must fit // exactly into out. diff --git a/types/logid/id.go b/types/logid/id.go index ac4369a4e..4acac7cd5 100644 --- a/types/logid/id.go +++ b/types/logid/id.go @@ -39,7 +39,7 @@ func ParsePrivateID(in string) (out PrivateID, err error) { } func (id PrivateID) AppendText(b []byte) ([]byte, error) { - return hexAppendEncode(b, id[:]), nil + return hex.AppendEncode(b, id[:]), nil } func (id PrivateID) MarshalText() ([]byte, error) { @@ -51,7 +51,7 @@ func (id *PrivateID) UnmarshalText(in []byte) error { } func (id PrivateID) String() string { - return string(hexAppendEncode(nil, id[:])) + return string(hex.AppendEncode(nil, id[:])) } func (id PrivateID) IsZero() bool { @@ -75,7 +75,7 @@ func ParsePublicID(in string) (out PublicID, err error) { } func (id PublicID) AppendText(b []byte) ([]byte, error) { - return hexAppendEncode(b, id[:]), nil + return hex.AppendEncode(b, id[:]), nil } func (id PublicID) MarshalText() ([]byte, error) { @@ -87,7 +87,7 @@ func (id *PublicID) UnmarshalText(in []byte) error { } func (id PublicID) String() string { - return string(hexAppendEncode(nil, id[:])) + return string(hex.AppendEncode(nil, id[:])) } func (id1 PublicID) Less(id2 PublicID) bool { @@ -106,14 +106,6 @@ func (id PublicID) Prefix64() uint64 { return binary.BigEndian.Uint64(id[:8]) } -// TODO(https://go.dev/issue/53693): Use hex.AppendEncode instead. -func hexAppendEncode(dst, src []byte) []byte { - n := hex.EncodedLen(len(src)) - dst = slices.Grow(dst, n) - hex.Encode(dst[len(dst):][:n], src) - return dst[:len(dst)+n] -} - func parseID[Bytes []byte | string](funcName string, out *[32]byte, in Bytes) (err error) { if len(in) != 2*len(out) { return fmt.Errorf("%s: invalid hex length: %d", funcName, len(in))