diff --git a/internal/pkg/cli/verb_utils.go b/internal/pkg/cli/verb_utils.go index 87dbf319e..9dda91ebd 100644 --- a/internal/pkg/cli/verb_utils.go +++ b/internal/pkg/cli/verb_utils.go @@ -15,7 +15,7 @@ import ( // For flags with values, e.g. ["-n" "10"], while we're looking at the "-n" this let us see if the "10" slot exists. // The verb is nominally something from a ways earlier in args[]; the opt is nominally what's at args[argi-1]. // So this function should be called with args[argi] pointing to the "10" slot. -func verbCheckArgCount(verb string, opt string, args []string, argi int, argc int, n int) { +func VerbCheckArgCount(verb string, opt string, args []string, argi int, argc int, n int) { if (argc - argi) < n { fmt.Fprintf(os.Stderr, "%s %s: option \"%s\" missing argument(s).\n", "mlr", verb, opt, @@ -26,7 +26,7 @@ func verbCheckArgCount(verb string, opt string, args []string, argi int, argc in // E.g. with ["-f", "a,b,c"], makes sure there is something in the "a,b,c" position, and returns it. func VerbGetStringArgOrDie(verb string, opt string, args []string, pargi *int, argc int) string { - verbCheckArgCount(verb, opt, args, *pargi, argc, 1) + VerbCheckArgCount(verb, opt, args, *pargi, argc, 1) retval := args[*pargi] *pargi += 1 return retval diff --git a/internal/pkg/transformers/sort.go b/internal/pkg/transformers/sort.go index 9015e486e..dbb76e460 100644 --- a/internal/pkg/transformers/sort.go +++ b/internal/pkg/transformers/sort.go @@ -138,6 +138,7 @@ func transformerSortParseCLI( // See comments over "-n" -- similar hack. if args[argi] == "-r" { // Treat like "-cr" + cli.VerbCheckArgCount(verb, args[argi], args, argi, argc, 1) argi++ subList := cli.VerbGetStringArrayArgOrDie(verb, "-nr", args, &argi, argc) for _, item := range subList { @@ -155,8 +156,10 @@ func transformerSortParseCLI( } else if opt == "-t" { // See comments over "-n" -- similar hack. + cli.VerbCheckArgCount(verb, opt, args, argi, argc, 1) if args[argi] == "-r" { // Treat like "-tr" + cli.VerbCheckArgCount(verb, args[argi], args, argi, argc, 1) argi++ subList := cli.VerbGetStringArrayArgOrDie(verb, "-tr", args, &argi, argc) for _, item := range subList { @@ -202,6 +205,7 @@ func transformerSortParseCLI( // So here we special-case this: if "-n" is followed immediately by // "-f", we treat it the same as "-nf". Likewise, "-n" followed by // "-r" is treated like "-nr". + cli.VerbCheckArgCount(verb, opt, args, argi, argc, 1) if args[argi] == "-f" { // Treat like "-nf"