|
|
@ -98,12 +98,15 @@ func main() { |
|
|
|
cmd.Flag.Usage() |
|
|
|
fmt.Fprintf(os.Stderr, "Default Parameters:\n") |
|
|
|
cmd.Flag.PrintDefaults() |
|
|
|
// Command execution failed - general error
|
|
|
|
setExitStatus(1) |
|
|
|
} |
|
|
|
exit() |
|
|
|
return |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
// Unknown command - syntax error
|
|
|
|
fmt.Fprintf(os.Stderr, "weed: unknown subcommand %q\nRun 'weed help' for usage.\n", args[0]) |
|
|
|
setExitStatus(2) |
|
|
|
exit() |
|
|
@ -155,19 +158,23 @@ func usage() { |
|
|
|
printUsage(os.Stderr) |
|
|
|
fmt.Fprintf(os.Stderr, "For Logging, use \"weed [logging_options] [command]\". The logging options are:\n") |
|
|
|
flag.PrintDefaults() |
|
|
|
os.Exit(2) |
|
|
|
// Invalid command line usage - syntax error
|
|
|
|
setExitStatus(2) |
|
|
|
exit() |
|
|
|
} |
|
|
|
|
|
|
|
// help implements the 'help' command.
|
|
|
|
func help(args []string) { |
|
|
|
if len(args) == 0 { |
|
|
|
printUsage(os.Stdout) |
|
|
|
// not exit 2: succeeded at 'weed help'.
|
|
|
|
// Success - help displayed correctly
|
|
|
|
return |
|
|
|
} |
|
|
|
if len(args) != 1 { |
|
|
|
fmt.Fprintf(os.Stderr, "usage: weed help command\n\nToo many arguments given.\n") |
|
|
|
os.Exit(2) // failed at 'weed help'
|
|
|
|
// Invalid help usage - syntax error
|
|
|
|
setExitStatus(2) |
|
|
|
exit() |
|
|
|
} |
|
|
|
|
|
|
|
arg := args[0] |
|
|
@ -175,13 +182,15 @@ func help(args []string) { |
|
|
|
for _, cmd := range commands { |
|
|
|
if cmd.Name() == arg { |
|
|
|
tmpl(os.Stdout, helpTemplate, cmd) |
|
|
|
// not exit 2: succeeded at 'weed help cmd'.
|
|
|
|
// Success - help for specific command displayed correctly
|
|
|
|
return |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
fmt.Fprintf(os.Stderr, "Unknown help topic %#q. Run 'weed help'.\n", arg) |
|
|
|
os.Exit(2) // failed at 'weed help cmd'
|
|
|
|
// Unknown help topic - syntax error
|
|
|
|
setExitStatus(2) |
|
|
|
exit() |
|
|
|
} |
|
|
|
|
|
|
|
var atexitFuncs []func() |
|
|
|