Browse code

fix panic with only long flags or only one deprecatd

Docker-DCO-1.1-Signed-off-by: Victor Vieux <victor.vieux@docker.com> (github: vieux)

Victor Vieux authored on 2014/03/06 04:45:57
Showing 2 changed files
... ...
@@ -14,8 +14,8 @@ var (
14 14
 func init() {
15 15
 	flag.Bool([]string{"#hp", "#-halp"}, false, "display the halp")
16 16
 	flag.BoolVar(&b, []string{"b"}, false, "a simple bool")
17
-	flag.BoolVar(&b2, []string{"-bool"}, false, "a simple bool")
18
-	flag.IntVar(&i, []string{"#integer", "-integer"}, -1, "a simple integer")
17
+	flag.BoolVar(&b2, []string{"#-bool"}, false, "a simple bool")
18
+	flag.IntVar(&i, []string{"-integer", "-number"}, -1, "a simple integer")
19 19
 	flag.StringVar(&str, []string{"s", "#hidden", "-string"}, "", "a simple string") //-s -hidden and --string will work, but -hidden won't be in the usage
20 20
 	flag.BoolVar(&h, []string{"h", "#help", "-help"}, false, "display the help")
21 21
 	flag.Parse()
... ...
@@ -290,13 +290,13 @@ type Flag struct {
290 290
 func sortFlags(flags map[string]*Flag) []*Flag {
291 291
 	var list sort.StringSlice
292 292
 	for _, f := range flags {
293
+		fName := strings.TrimPrefix(f.Names[0], "#")
293 294
 		if len(f.Names) == 1 {
294
-			list = append(list, f.Names[0])
295
+			list = append(list, fName)
295 296
 			continue
296 297
 		}
297 298
 
298 299
 		found := false
299
-		fName := strings.TrimPrefix(strings.TrimPrefix(f.Names[0], "#"), "-")
300 300
 		for _, name := range list {
301 301
 			if name == fName {
302 302
 				found = true