diff --git a/cmd/chasquid-util/chasquid-util.go b/cmd/chasquid-util/chasquid-util.go index 7333951..ad4f133 100644 --- a/cmd/chasquid-util/chasquid-util.go +++ b/cmd/chasquid-util/chasquid-util.go @@ -3,6 +3,7 @@ package main import ( + "flag" "bytes" "fmt" "os" @@ -60,10 +61,13 @@ var args map[string]string // Globals, loaded from top-level options. var ( - configDir = "/etc/chasquid" + configDir = flag.String("config_dir", "/etc/chasquid", + "configuration directory") ) func main() { + flag.Parse() + args = parseArgs(usage) if _, ok := args["--help"]; ok { @@ -71,14 +75,6 @@ func main() { return } - // Load globals. - if d, ok := args["--configdir"]; ok { - configDir = d - } - if d, ok := args["-C"]; ok { - configDir = d - } - commands := map[string]func(){ "user-add": userAdd, "user-remove": userRemove, @@ -116,7 +112,7 @@ func userDBForDomain(domain string) string { if domain == "" { domain = args["$2"] } - return configDir + "/domains/" + domain + "/users" + return *configDir + "/domains/" + domain + "/users" } func userDBFromArgs(create bool) (string, string, *userdb.DB) { @@ -254,7 +250,7 @@ func userRemove() { // chasquid-util aliases-resolve
func aliasesResolve() { - conf, err := config.Load(configDir+"/chasquid.conf", "") + conf, err := config.Load(*configDir+"/chasquid.conf", "") if err != nil { Fatalf("Error loading config: %v", err) } @@ -282,7 +278,7 @@ func aliasesResolve() { // chasquid-util print-config func printConfig() { - conf, err := config.Load(configDir+"/chasquid.conf", "") + conf, err := config.Load(*configDir+"/chasquid.conf", "") if err != nil { Fatalf("Error loading config: %v", err) } @@ -292,7 +288,7 @@ func printConfig() { // chasquid-util domaininfo-remove