Fix a regression on flags using spaces between key and value

This commit is contained in:
Ludovic Fernandez 2024-02-16 09:44:06 +01:00 committed by GitHub
parent 014fdfc4ec
commit c5c61dbade
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -24,16 +24,19 @@ func (d DeprecationLoader) Load(args []string, cmd *cli.Command) (bool, error) {
}
// logDeprecation prints deprecation hints and returns whether incompatible deprecated options need to be removed.
func logDeprecation(traefikConfiguration interface{}, args []string) bool {
func logDeprecation(traefikConfiguration interface{}, arguments []string) bool {
// This part doesn't handle properly a flag defined like this:
// --accesslog true
// where `true` could be considered as a new argument.
// This is not really an issue with the deprecation loader since it will filter the unknown nodes later in this
// function.
for i, arg := range args {
// This is not really an issue with the deprecation loader since it will filter the unknown nodes later in this function.
var args []string
for _, arg := range arguments {
if !strings.Contains(arg, "=") {
args[i] = arg + "=true"
args = append(args, arg+"=true")
continue
}
args = append(args, arg)
}
labels, err := flag.Parse(args, nil)