Remove specail casing in Execute()

We had some stuff that created a new empty []string if args was already
and empty string (why?)

We had some stuff that called Help() if it wasn't runnable (but
.execute() already does that)

Just remove the special case stuff.
This commit is contained in:
Eric Paris 2015-04-06 15:24:36 -04:00
parent b9e25fa4a0
commit 794a362808

View file

@ -476,21 +476,10 @@ func (c *Command) Execute() (err error) {
args = c.args args = c.args
} }
if len(args) == 0 { cmd, flags, err := c.Find(args)
// Only the executable is called and the root is runnable, run it if err == nil {
if c.Runnable() {
err = c.execute([]string(nil))
} else {
c.Help()
}
} else {
cmd, flags, e := c.Find(args)
if e != nil {
err = e
} else {
err = cmd.execute(flags) err = cmd.execute(flags)
} }
}
if err != nil { if err != nil {
if err == flag.ErrHelp { if err == flag.ErrHelp {