From 7d8e5146b11dcddd2d528566ea4e61380789bfe7 Mon Sep 17 00:00:00 2001 From: Peter Hellberg <peter@c7.se> Date: Mon, 15 Dec 2014 03:42:20 +0100 Subject: [PATCH] Replace first ~ with user.HomeDir, if possible --- cmd.go | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/cmd.go b/cmd.go index ab41788..82398b5 100644 --- a/cmd.go +++ b/cmd.go @@ -6,6 +6,7 @@ import ( "io/ioutil" "os" "os/signal" + "os/user" "strings" "net/http" @@ -61,7 +62,15 @@ func main() { logLevel := logLevels[numVerbose] logger = golog.New(os.Stderr, logLevel) - privateKey, err := ioutil.ReadFile(options.Identity) + privateKeyPath := options.Identity + if strings.HasPrefix(privateKeyPath, "~") { + user, err := user.Current() + if err == nil { + privateKeyPath = strings.Replace(privateKeyPath, "~", user.HomeDir, 1) + } + } + + privateKey, err := ioutil.ReadFile(privateKeyPath) if err != nil { logger.Errorf("Failed to load identity: %v", err) return