From e00e164688f79d85d34fdf0d4ef126387ec6c0a0 Mon Sep 17 00:00:00 2001 From: 1911860538 Date: Thu, 4 Sep 2025 20:17:31 +0800 Subject: [PATCH] internal/trace/raw: use strings.Cut instead of strings.SplitN 2 --- src/internal/trace/raw/textreader.go | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/src/internal/trace/raw/textreader.go b/src/internal/trace/raw/textreader.go index adb111550d1ee7..f1544a7052c56f 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) }