diff --git a/ox.go b/ox.go index 4f8b5d5..c1df1f4 100644 --- a/ox.go +++ b/ox.go @@ -23,20 +23,22 @@ import ( func oxGetPrivKeyLoc(jid string) (string, error) { var err error var homeDir, dataDir string - dataDir = os.Getenv("$XDG_DATA_HOME") - if dataDir == "" { + switch { + case os.Getenv("$XDG_DATA_HOME") != "": + dataDir = os.Getenv("$XDG_DATA_HOME") + case os.Getenv("$XDG_HOME") != "": homeDir = os.Getenv("$XDG_HOME") + dataDir = homeDir + "/.local/share" + case os.Getenv("$HOME") != "": + homeDir = os.Getenv("$HOME") + dataDir = homeDir + "/.local/share" + default: + homeDir, err = os.UserHomeDir() + if err != nil { + return "error", err + } if homeDir == "" { - homeDir = os.Getenv("$HOME") - if homeDir == "" { - homeDir, err = os.UserHomeDir() - if err != nil { - return "error", err - } - if homeDir == "" { - return "error", errors.New("No XDG_DATA_HOME") - } - } + return "error", err } dataDir = homeDir + "/.local/share" }