about summary refs log tree commit diff
diff options
context:
space:
mode:
authorEelco Dolstra <edolstra@gmail.com>2018-09-13T12·33+0200
committerEelco Dolstra <edolstra@gmail.com>2018-09-13T12·33+0200
commit8327a7a8fa0ce6f6b1d1e0ea1324d053a031e438 (patch)
tree63790900172caf96ee222b7174cf550626f00c25
parent0aca1ffb6ef655a5147e27e4307074f0b303000f (diff)
parentd7402c9cd5c17644d73b2a7a39e10be22fffeb00 (diff)
Merge branch 'dirOf-relative' of https://github.com/lheckemann/nix
-rw-r--r--src/libexpr/primops.cc2
-rw-r--r--src/libutil/util.cc2
2 files changed, 2 insertions, 2 deletions
diff --git a/src/libexpr/primops.cc b/src/libexpr/primops.cc
index 6f82c6c404f2..7372134e2c9b 100644
--- a/src/libexpr/primops.cc
+++ b/src/libexpr/primops.cc
@@ -866,7 +866,7 @@ static void prim_baseNameOf(EvalState & state, const Pos & pos, Value * * args,
 static void prim_dirOf(EvalState & state, const Pos & pos, Value * * args, Value & v)
 {
     PathSet context;
-    Path dir = dirOf(state.coerceToPath(pos, *args[0], context));
+    Path dir = dirOf(state.coerceToString(pos, *args[0], context, false, false));
     if (args[0]->type == tPath) mkPath(v, dir.c_str()); else mkString(v, dir, context);
 }
 
diff --git a/src/libutil/util.cc b/src/libutil/util.cc
index 04c98dc80bf2..03f0be705c1d 100644
--- a/src/libutil/util.cc
+++ b/src/libutil/util.cc
@@ -167,7 +167,7 @@ Path dirOf(const Path & path)
 {
     Path::size_type pos = path.rfind('/');
     if (pos == string::npos)
-        throw Error(format("invalid file name '%1%'") % path);
+        return ".";
     return pos == 0 ? "/" : Path(path, 0, pos);
 }