aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDimitri Sokolyuk <demon@dim13.org>2016-02-29 23:40:23 +0100
committerDimitri Sokolyuk <demon@dim13.org>2016-02-29 23:40:23 +0100
commitfb2e95cde5b0376522bad6a5d54fcc4d021c2dd6 (patch)
tree9a6b9059cd28e6329dd6ba815966ab8f83d71564
parent150788fb1e84740a1ef1f543d20b05816006712d (diff)
Expand Home
-rw-r--r--cmd/acme/config.go20
1 files changed, 14 insertions, 6 deletions
diff --git a/cmd/acme/config.go b/cmd/acme/config.go
index 8aad4fa..40bb3c1 100644
--- a/cmd/acme/config.go
+++ b/cmd/acme/config.go
@@ -74,6 +74,17 @@ func DumpTOML(c *Config) (string, error) {
}
*/
+func expandHome(p string) (string, error) {
+ if strings.HasPrefix(p, "~") {
+ usr, err := user.Current()
+ if err != nil {
+ return p, err
+ }
+ return path.Join(usr.HomeDir, p[1:]), nil
+ }
+ return p, nil
+}
+
func LoadConfig(fname string) (*Config, error) {
conf, err := ioutil.ReadFile(fname)
if err != nil {
@@ -84,12 +95,9 @@ func LoadConfig(fname string) (*Config, error) {
if err != nil {
return nil, err
}
- if strings.HasPrefix(c.BaseDir, "~") {
- usr, err := user.Current()
- if err != nil {
- return nil, err
- }
- c.BaseDir = path.Join(usr.HomeDir, c.BaseDir[1:])
+ c.BaseDir, err = expandHome(c.BaseDir)
+ if err != nil {
+ return nil, err
}
// apply defaults
if c.Gracetime == 0 {