aboutsummaryrefslogtreecommitdiff
path: root/main.go
diff options
context:
space:
mode:
authorDimitri Sokolyuk <demon@dim13.org>2017-05-04 16:20:10 +0200
committerDimitri Sokolyuk <demon@dim13.org>2017-05-04 16:20:10 +0200
commit7e2b496200d8281f28bb12997d9f8223d25fcb40 (patch)
tree7cf9dcfb20dd78524735704ea3b0f81f7c73c8fd /main.go
parentc4a2e620f4558a2f3928ef1807b7293150aca9ed (diff)
modes
Diffstat (limited to 'main.go')
-rw-r--r--main.go32
1 files changed, 11 insertions, 21 deletions
diff --git a/main.go b/main.go
index c26a914..b132ba8 100644
--- a/main.go
+++ b/main.go
@@ -14,33 +14,23 @@ func usage() {
os.Exit(2)
}
-func fatal(err error) {
- fmt.Println(err)
- os.Exit(1)
+var modes = map[string]func() error{
+ "-C": check,
+ "-G": generate,
+ "-S": sign,
+ "-V": verify,
}
func main() {
if len(os.Args) < 2 {
usage()
}
- switch os.Args[1] {
- case "-C", "check":
- if err := check(); err != nil {
- fatal(err)
- }
- case "-G", "generate":
- if err := generate(); err != nil {
- fatal(err)
- }
- case "-S", "sign":
- if err := sign(); err != nil {
- fatal(err)
- }
- case "-V", "verify":
- if err := verify(); err != nil {
- fatal(err)
- }
- default:
+ mode, ok := modes[os.Args[1]]
+ if !ok {
usage()
}
+ if err := mode(); err != nil {
+ fmt.Println(err)
+ os.Exit(1)
+ }
}