diff --git a/cmd/utils/flags.go b/cmd/utils/flags.go index b48f37177d..5ed714e70f 100644 --- a/cmd/utils/flags.go +++ b/cmd/utils/flags.go @@ -1083,13 +1083,17 @@ func checkExclusive(ctx *cli.Context, args ...interface{}) { name := flag.GetName() if i+1 < len(args) { - switch option := args[i+1].(type) { + switch args[i+1].(type) { case string: - // Extended flag, expand the name and shift the arguments + // Extended flag check, make sure value set doesn't conflict with passed in option + option := args[i+1].(string) if ctx.GlobalString(flag.GetName()) == option { name += "=" + option + set = append(set, "--"+name) } + // shift arguments and continue i++ + continue case cli.Flag: default: