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 /src | |
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.
Diffstat (limited to 'src')
-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" : |