diff options
-rw-r--r-- | func.go | 6 | ||||
-rw-r--r-- | testcase/dir.mk | 1 |
2 files changed, 6 insertions, 1 deletions
@@ -369,7 +369,11 @@ func (f *funcDir) Eval(w io.Writer, ev *Evaluator) { names := splitSpaces(string(ev.Value(f.args[1]))) sw := ssvWriter{w: w} for _, name := range names { - sw.WriteString(filepath.Dir(name) + string(filepath.Separator)) + if name == "/" { + sw.Write([]byte{'/'}) + } else { + sw.WriteString(filepath.Dir(name) + string(filepath.Separator)) + } } } diff --git a/testcase/dir.mk b/testcase/dir.mk index 368d0a9..42dbf1a 100644 --- a/testcase/dir.mk +++ b/testcase/dir.mk @@ -6,6 +6,7 @@ test: foo echo $(dir ) echo $(dir src/foo.c hacks) echo $(dir hacks src/foo.c) + echo $(dir /) foo: mkdir foo bar |