aboutsummaryrefslogtreecommitdiffstats
path: root/cmd/utils
diff options
context:
space:
mode:
authorFelix Lange <fjl@twurst.com>2015-08-06 22:18:32 +0800
committerFelix Lange <fjl@twurst.com>2015-08-06 23:18:59 +0800
commiteae1191904fd739cdffdd2903509a44a35c4c2f2 (patch)
treef10fc9132fabdeada3c8a0f4e2558f3d20c096af /cmd/utils
parent78b101e15d4a92d9f0f1d9ca49e45d5699adb3d2 (diff)
downloaddexon-eae1191904fd739cdffdd2903509a44a35c4c2f2.tar.gz
dexon-eae1191904fd739cdffdd2903509a44a35c4c2f2.tar.zst
dexon-eae1191904fd739cdffdd2903509a44a35c4c2f2.zip
cmd/utils: fix path expansion on windows
Diffstat (limited to 'cmd/utils')
-rw-r--r--cmd/utils/customflags.go9
-rw-r--r--cmd/utils/customflags_test.go5
2 files changed, 4 insertions, 10 deletions
diff --git a/cmd/utils/customflags.go b/cmd/utils/customflags.go
index e7efed4e3..4450065c1 100644
--- a/cmd/utils/customflags.go
+++ b/cmd/utils/customflags.go
@@ -21,7 +21,7 @@ import (
"fmt"
"os"
"os/user"
- "path/filepath"
+ "path"
"strings"
"github.com/codegangsta/cli"
@@ -138,11 +138,8 @@ func (self *DirectoryFlag) Set(value string) {
func expandPath(p string) string {
if strings.HasPrefix(p, "~/") || strings.HasPrefix(p, "~\\") {
if user, err := user.Current(); err == nil {
- if err == nil {
- p = strings.Replace(p, "~", user.HomeDir, 1)
- }
+ p = user.HomeDir + p[1:]
}
}
-
- return filepath.Clean(os.ExpandEnv(p))
+ return path.Clean(os.ExpandEnv(p))
}
diff --git a/cmd/utils/customflags_test.go b/cmd/utils/customflags_test.go
index 0fb0af63b..de39ca36a 100644
--- a/cmd/utils/customflags_test.go
+++ b/cmd/utils/customflags_test.go
@@ -23,18 +23,15 @@ import (
)
func TestPathExpansion(t *testing.T) {
-
user, _ := user.Current()
-
tests := map[string]string{
"/home/someuser/tmp": "/home/someuser/tmp",
"~/tmp": user.HomeDir + "/tmp",
+ "~thisOtherUser/b/": "~thisOtherUser/b",
"$DDDXXX/a/b": "/tmp/a/b",
"/a/b/": "/a/b",
}
-
os.Setenv("DDDXXX", "/tmp")
-
for test, expected := range tests {
got := expandPath(test)
if got != expected {