internal/trace/raw: use strings.Cut instead of strings.SplitN 2

This commit is contained in:
1911860538 2025-09-04 20:17:31 +08:00
parent 80038586ed
commit e00e164688

View file

@ -165,14 +165,13 @@ func readArg(s string) (arg string, value uint64, rest string, err error) {
if len(tok) == 0 { if len(tok) == 0 {
return "", 0, s, fmt.Errorf("no argument") return "", 0, s, fmt.Errorf("no argument")
} }
parts := strings.SplitN(tok, "=", 2) arg, val, found := strings.Cut(tok, "=")
if len(parts) < 2 { if !found {
return "", 0, s, fmt.Errorf("malformed argument: %q", tok) return "", 0, s, fmt.Errorf("malformed argument: %q", tok)
} }
arg = parts[0] value, err = strconv.ParseUint(val, 10, 64)
value, err = strconv.ParseUint(parts[1], 10, 64)
if err != nil { 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 return
} }
@ -205,11 +204,11 @@ func readToken(s string) (token, rest string) {
} }
func readData(line string) ([]byte, error) { func readData(line string) ([]byte, error) {
parts := strings.SplitN(line, "=", 2) dk, dv, found := strings.Cut(line, "=")
if len(parts) < 2 || strings.TrimSpace(parts[0]) != "data" { if !found || strings.TrimSpace(dk) != "data" {
return nil, fmt.Errorf("malformed data: %q", line) 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 { if err != nil {
return nil, fmt.Errorf("failed to parse data: %q: %v", line, err) return nil, fmt.Errorf("failed to parse data: %q: %v", line, err)
} }