diff options
| author | Alex Flint <[email protected]> | 2017-02-09 19:34:18 -0800 |
|---|---|---|
| committer | GitHub <[email protected]> | 2017-02-09 19:34:18 -0800 |
| commit | 765ccf745937c16486999600ecf789c646ac2e6c (patch) | |
| tree | 5488debe6dd6e265bf1032b17cbdbc9bd0a5ae28 /parse.go | |
| parent | b658405f709bae83d82b39f2669c6f9138f1b12c (diff) | |
| parent | ec576f9765c4a5918918921e35a82f0907d77d36 (diff) | |
Merge pull request #45 from alexflint/empty_args
Do not crash when os.Args is empty
Diffstat (limited to 'parse.go')
| -rw-r--r-- | parse.go | 12 |
1 files changed, 10 insertions, 2 deletions
@@ -36,7 +36,7 @@ func MustParse(dest ...interface{}) *Parser { fmt.Println(err) os.Exit(-1) } - err = p.Parse(os.Args[1:]) + err = p.Parse(flags()) if err == ErrHelp { p.WriteHelp(os.Stdout) os.Exit(0) @@ -57,7 +57,15 @@ func Parse(dest ...interface{}) error { if err != nil { return err } - return p.Parse(os.Args[1:]) + return p.Parse(flags()) +} + +// flags gets all command line arguments other than the first (program name) +func flags() []string { + if len(os.Args) == 0 { // os.Args could be empty + return nil + } + return os.Args[1:] } // Config represents configuration options for an argument parser |
