aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--func.go6
-rw-r--r--testcase/dir.mk1
2 files changed, 6 insertions, 1 deletions
diff --git a/func.go b/func.go
index 095ab75..6b548ba 100644
--- a/func.go
+++ b/func.go
@@ -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