main: more useful error message on unknown flag
This commit is contained in:
parent
b70d2ffd94
commit
9f0793ab0f
18
cli_args.go
18
cli_args.go
@ -2,6 +2,7 @@ package main
|
||||
|
||||
import (
|
||||
"flag"
|
||||
"fmt"
|
||||
"os"
|
||||
"strconv"
|
||||
"strings"
|
||||
@ -57,7 +58,7 @@ func parseCliOpts() (args argContainer) {
|
||||
var err error
|
||||
var opensslAuto string
|
||||
|
||||
flagSet = flag.NewFlagSet(tlog.ProgramName, flag.ExitOnError)
|
||||
flagSet = flag.NewFlagSet(tlog.ProgramName, flag.ContinueOnError)
|
||||
flagSet.Usage = usageText
|
||||
flagSet.BoolVar(&args.debug, "d", false, "")
|
||||
flagSet.BoolVar(&args.debug, "debug", false, "Enable debug output")
|
||||
@ -99,7 +100,12 @@ func parseCliOpts() (args argContainer) {
|
||||
flagSet.BoolVar(&ignoredBool, "nosuid", false, ignoreText)
|
||||
flagSet.BoolVar(&ignoredBool, "nodev", false, ignoreText)
|
||||
// Actual parsing
|
||||
flagSet.Parse(os.Args[1:])
|
||||
err = flagSet.Parse(os.Args[1:])
|
||||
if err != nil {
|
||||
tlog.Warn.Printf("You passed: %s", prettyArgs())
|
||||
tlog.Fatal.Printf("%v", err)
|
||||
os.Exit(2)
|
||||
}
|
||||
|
||||
// "-openssl" needs some post-processing
|
||||
if opensslAuto == "auto" {
|
||||
@ -117,3 +123,11 @@ func parseCliOpts() (args argContainer) {
|
||||
}
|
||||
return args
|
||||
}
|
||||
|
||||
// prettyArgs pretty-prints the command-line arguments.
|
||||
func prettyArgs() string {
|
||||
pa := fmt.Sprintf("%q", os.Args[1:])
|
||||
// Get rid of "[" and "]"
|
||||
pa = pa[1 : len(pa)-1]
|
||||
return pa
|
||||
}
|
||||
|
4
main.go
4
main.go
@ -216,9 +216,7 @@ func main() {
|
||||
}
|
||||
// Default operation: mount.
|
||||
if flagSet.NArg() != 2 {
|
||||
prettyArgs := fmt.Sprintf("%q", os.Args[1:])
|
||||
// Get rid of "[" and "]"
|
||||
prettyArgs = prettyArgs[1 : len(prettyArgs)-1]
|
||||
prettyArgs := prettyArgs()
|
||||
tlog.Info.Printf("Wrong number of arguments (have %d, want 2). You passed: %s",
|
||||
flagSet.NArg(), prettyArgs)
|
||||
tlog.Fatal.Printf("Usage: %s [OPTIONS] CIPHERDIR MOUNTPOINT [-o COMMA-SEPARATED-OPTIONS]", tlog.ProgramName)
|
||||
|
Loading…
Reference in New Issue
Block a user