From 445025bb74099a49e4eb3d7adce4158d34ac5b04 Mon Sep 17 00:00:00 2001 From: Jonathan Boulle Date: Mon, 12 Oct 2015 16:02:03 -0700 Subject: [PATCH] fleetd: fix argument handling We were calling userset.Usage but it was never actually defined. Unlike in the top-level of the flag package (i.e. `flag.Usage`), this method does not have a default value on `FlagSet`s. The only reason this never showed up way earlier in the `ErrHelp` path (and was only revealed via 8ebb81bcd1668be4a874db98cbf2e67ae305d7f6) is that branch was never actually encountered. --- fleetd/fleetd.go | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/fleetd/fleetd.go b/fleetd/fleetd.go index bdd898c76..6da47ab0c 100644 --- a/fleetd/fleetd.go +++ b/fleetd/fleetd.go @@ -42,8 +42,13 @@ func main() { printVersion := userset.Bool("version", false, "Print the version and exit") cfgPath := userset.String("config", "", fmt.Sprintf("Path to config file. Fleet will look for a config at %s by default.", DefaultConfigFile)) + userset.Usage = func() { + fmt.Fprintf(os.Stderr, "Usage of %s:\n", os.Args[0]) + userset.PrintDefaults() + } + err := userset.Parse(os.Args[1:]) - if err == flag.ErrHelp { + if err != nil { userset.Usage() os.Exit(1) }