cmd/loop: parse string slice as string slice

Previously it was parsed as a single JSON string. Now each hint is parsed
individually.
This commit is contained in:
Boris Nagaev 2025-10-07 00:03:23 -03:00
parent 5fa5a4e1b8
commit dfad554d43
No known key found for this signature in database

View file

@ -22,10 +22,17 @@ func validateRouteHints(ctx *cli.Context) ([]*swapserverrpc.RouteHint, error) {
)
}
stringHints := []byte(ctx.String(routeHintsFlag.Name))
err := json.Unmarshal(stringHints, &hints)
if err != nil {
return nil, fmt.Errorf("unable to parse json: %v", err)
jsonHints := ctx.StringSlice(routeHintsFlag.Name)
hints := make([]*swapserverrpc.RouteHint, len(jsonHints))
for i, jsonHint := range jsonHints {
var h swapserverrpc.RouteHint
err := json.Unmarshal([]byte(jsonHint), &h)
if err != nil {
return nil, fmt.Errorf("unable to parse %d-th "+
"hint json %v: %w", i, jsonHint, err)
}
hints[i] = &h
}
}