From d2076da9a075bb9fb75175718c8c80a593de8393 Mon Sep 17 00:00:00 2001 From: AJ ONeal Date: Sat, 15 Aug 2020 06:07:47 -0600 Subject: [PATCH] bugfix CLI parsing --- cmd/hashcash/hashcash.go | 22 +++++++++++++--------- 1 file changed, 13 insertions(+), 9 deletions(-) diff --git a/cmd/hashcash/hashcash.go b/cmd/hashcash/hashcash.go index f5c5460..7a58b98 100644 --- a/cmd/hashcash/hashcash.go +++ b/cmd/hashcash/hashcash.go @@ -12,7 +12,7 @@ import ( func help() { fmt.Println("Usage:") - fmt.Println("\thashcash new [subject *] [expires in 5m] [difficulty 10]") + fmt.Println("\thashcash new [subject *] [difficulty 10] [expires in 5m]") fmt.Println("\thashcash parse ") fmt.Println("\thashcash solve ") fmt.Println("\thashcash verify [subject *]") @@ -20,8 +20,9 @@ func help() { func main() { args := os.Args[:] + nargs := len(args) - if len(args) < 2 { + if nargs < 2 { help() os.Exit(1) return @@ -30,27 +31,30 @@ func main() { switch args[1] { case "new": var subject string - if len(args) > 3 { + if nargs >= 3 { subject = args[2] } var difficulty int - if len(args) > 4 { + if nargs >= 4 { var err error difficulty, err = strconv.Atoi(args[3]) if nil != err { help() os.Exit(1) + return } } var expIn time.Duration - if len(args) > 5 { + if nargs >= 5 { var err error expIn, err = time.ParseDuration(args[4]) if nil != err { + fmt.Println(err) help() os.Exit(1) + return } } else { expIn = 5 * time.Minute @@ -66,7 +70,7 @@ func main() { return case "parse": var token string - if 3 != len(args) { + if 3 != nargs { help() os.Exit(1) return @@ -82,7 +86,7 @@ func main() { return case "solve": var token string - if 3 != len(args) { + if 3 != nargs { help() os.Exit(1) return @@ -105,7 +109,7 @@ func main() { return case "verify": var token string - if len(args) < 3 { + if nargs < 3 { help() os.Exit(1) return @@ -118,7 +122,7 @@ func main() { } subject := "*" - if len(args) > 3 { + if nargs >= 4 { subject = args[3] }