From: 1911860538 Date: Thu, 4 Sep 2025 12:30:51 +0000 (+0000) Subject: internal/trace/raw: use strings.Cut instead of strings.SplitN 2 X-Git-Tag: go1.26rc1~911 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=5cf8ca42e3;p=gostls13.git internal/trace/raw: use strings.Cut instead of strings.SplitN 2 Replace strings.SplitN with strings.Cut for better performance and readability. Change-Id: Ia245db62d8c2d1686887cb455f492db15606b57a GitHub-Last-Rev: e00e164688f79d85d34fdf0d4ef126387ec6c0a0 GitHub-Pull-Request: golang/go#75257 Reviewed-on: https://go-review.googlesource.com/c/go/+/700915 Reviewed-by: Michael Knyszek Auto-Submit: Michael Pratt LUCI-TryBot-Result: Go LUCI Reviewed-by: Michael Pratt --- diff --git a/src/internal/trace/raw/textreader.go b/src/internal/trace/raw/textreader.go index adb111550d..f1544a7052 100644 --- a/src/internal/trace/raw/textreader.go +++ b/src/internal/trace/raw/textreader.go @@ -165,14 +165,13 @@ func readArg(s string) (arg string, value uint64, rest string, err error) { if len(tok) == 0 { return "", 0, s, fmt.Errorf("no argument") } - parts := strings.SplitN(tok, "=", 2) - if len(parts) < 2 { + arg, val, found := strings.Cut(tok, "=") + if !found { return "", 0, s, fmt.Errorf("malformed argument: %q", tok) } - arg = parts[0] - value, err = strconv.ParseUint(parts[1], 10, 64) + value, err = strconv.ParseUint(val, 10, 64) if err != nil { - return arg, value, s, fmt.Errorf("failed to parse argument value %q for arg %q", parts[1], parts[0]) + return arg, value, s, fmt.Errorf("failed to parse argument value %q for arg %q", val, arg) } return } @@ -205,11 +204,11 @@ func readToken(s string) (token, rest string) { } func readData(line string) ([]byte, error) { - parts := strings.SplitN(line, "=", 2) - if len(parts) < 2 || strings.TrimSpace(parts[0]) != "data" { + dk, dv, found := strings.Cut(line, "=") + if !found || strings.TrimSpace(dk) != "data" { return nil, fmt.Errorf("malformed data: %q", line) } - data, err := strconv.Unquote(strings.TrimSpace(parts[1])) + data, err := strconv.Unquote(strings.TrimSpace(dv)) if err != nil { return nil, fmt.Errorf("failed to parse data: %q: %v", line, err) }