From 495479dc66efae688895aed8902d00f0350cdea7 Mon Sep 17 00:00:00 2001 From: Jakob Unterwurzacher Date: Sun, 9 Oct 2016 18:17:04 +0200 Subject: [PATCH] main: friendlier error message on wrong number of arguments MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Before: Usage: gocryptfs [OPTIONS] CIPHERDIR MOUNTPOINT After: Wrong number of arguments (have 9, want 2). You passed: "-nosyslog" "." "asd" "-q" "ß" "asdf" "fg" "gh" "sdf" "asd fs\\dfg" Usage: gocryptfs [OPTIONS] CIPHERDIR MOUNTPOINT --- main.go | 11 ++++++++++- mount.go | 4 ---- 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/main.go b/main.go index 5ae8146..2033e23 100644 --- a/main.go +++ b/main.go @@ -214,6 +214,15 @@ func main() { } changePassword(&args) // does not return } - // Mount + // Default operation: mount. + if flagSet.NArg() != 2 { + prettyArgs := fmt.Sprintf("%q", os.Args[1:]) + // Get rid of "[" and "]" + prettyArgs = prettyArgs[1 : len(prettyArgs)-1] + 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", tlog.ProgramName) + os.Exit(ErrExitUsage) + } os.Exit(doMount(&args)) } diff --git a/mount.go b/mount.go index 3157332..803b09b 100644 --- a/mount.go +++ b/mount.go @@ -26,10 +26,6 @@ import ( // Called from main. func doMount(args *argContainer) int { // Check mountpoint - if flagSet.NArg() != 2 { - tlog.Fatal.Printf("Usage: %s [OPTIONS] CIPHERDIR MOUNTPOINT", tlog.ProgramName) - os.Exit(ErrExitUsage) - } var err error args.mountpoint, err = filepath.Abs(flagSet.Arg(1)) if err != nil {