diff options
author | Eelco Dolstra <eelco.dolstra@logicblox.com> | 2015-01-09T13·56+0100 |
---|---|---|
committer | Eelco Dolstra <eelco.dolstra@logicblox.com> | 2015-01-09T13·56+0100 |
commit | 2a3b1df42317b34619b6770f1589f87521d2d6f1 (patch) | |
tree | 34385679fb4ffb61cf8382e5fa830ed72bbf5da4 | |
parent | 57d64d24aa0bf6cba08eecbf711e7aa861b9030d (diff) |
Fix builtins.readDir on XFS
The DT_UNKNOWN fallback code was getting the type of the wrong path, causing readDir to report "directory" as the type of every file. Reported by deepfire on IRC.
-rw-r--r-- | src/libexpr/primops.cc | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/libexpr/primops.cc b/src/libexpr/primops.cc index 119e71a0497e..422ec971c9e0 100644 --- a/src/libexpr/primops.cc +++ b/src/libexpr/primops.cc @@ -796,7 +796,7 @@ static void prim_readDir(EvalState & state, const Pos & pos, Value * * args, Val for (auto & ent : entries) { Value * ent_val = state.allocAttr(v, state.symbols.create(ent.name)); if (ent.type == DT_UNKNOWN) - ent.type = getFileType(path); + ent.type = getFileType(path + "/" + ent.name); mkStringNoCopy(*ent_val, ent.type == DT_REG ? "regular" : ent.type == DT_DIR ? "directory" : |