From 427c6c17193eda7fec77490175fbf7d8c86c3481 Mon Sep 17 00:00:00 2001 From: Jakob Unterwurzacher Date: Sun, 26 Feb 2017 19:25:23 +0100 Subject: exitcodes: define code 12 for "password incorrect" --- internal/exitcodes/exitcodes.go | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 internal/exitcodes/exitcodes.go (limited to 'internal/exitcodes') diff --git a/internal/exitcodes/exitcodes.go b/internal/exitcodes/exitcodes.go new file mode 100644 index 0000000..908e714 --- /dev/null +++ b/internal/exitcodes/exitcodes.go @@ -0,0 +1,38 @@ +// Package exitcodes contains all well-defined exit codes that gocryptfs +// can return. +package exitcodes + +import ( + "fmt" + "os" +) + +const ( + // Other error - please inspect the message + Other = 11 + // The password was incorrect + PasswordIncorrect = 12 + // TODO several other exit codes are defined in main.go. These will be + // ported over here. +) + +type Err struct { + error + code int +} + +// NewErr returns an error containing "msg" and the exit code "code". +func NewErr(msg string, code int) Err { + return Err{ + error: fmt.Errorf(msg), + code: code, + } +} + +func Exit(err error) { + err2, ok := err.(Err) + if !ok { + os.Exit(Other) + } + os.Exit(err2.code) +} -- cgit v1.2.3