diff options
| author | Albert Nigmatzianov <[email protected]> | 2017-04-05 16:18:32 +0200 |
|---|---|---|
| committer | Eric Paris <[email protected]> | 2017-04-05 10:18:32 -0400 |
| commit | 9a906f17374922ed0f74e1b2f593d3723f2ffb00 (patch) | |
| tree | aee963894efcfe2b87eb38106a8683d01a7b9db7 /flag.go | |
| parent | d16db1e50e33dff1b6cdf37596cef36742128670 (diff) | |
Prevent changing order of flags after SetNormalizeFunc() (#121)
Fix #120
Diffstat (limited to 'flag.go')
| -rw-r--r-- | flag.go | 11 |
1 files changed, 5 insertions, 6 deletions
@@ -200,13 +200,12 @@ func sortFlags(flags map[NormalizedName]*Flag) []*Flag { // "--getUrl" which may also be translated to "geturl" and everything will work. func (f *FlagSet) SetNormalizeFunc(n func(f *FlagSet, name string) NormalizedName) { f.normalizeNameFunc = n - f.orderedFormal = f.orderedFormal[:0] - for k, v := range f.formal { - delete(f.formal, k) - nname := f.normalizeFlagName(string(k)) - f.formal[nname] = v - f.orderedFormal = append(f.orderedFormal, v) + for k, v := range f.orderedFormal { + delete(f.formal, NormalizedName(v.Name)) + nname := f.normalizeFlagName(v.Name) v.Name = string(nname) + f.formal[nname] = v + f.orderedFormal[k] = v } } |
