20 Jul
2011
20 Jul
'11
1:56 p.m.
Here is another idea: It seems getdents64 is indeed returning "." and "..", but not necessarily first, like Windows does. I think we could swap first 2 entries returned, whatever they are, with "." and "..". It would work like this: - read the 2 first entries to advance file pointer, but ignore them, return "." or ".." instead - return other entries normally - after "." or ".." is encountered, save current file offset and seek to first or second entry (respectively) and return that instead. For a corner case where that spot has ".." or ".", return the other one of first 2. - seek back where we were I think this would also fix fake_dot_dot + single_entry case. What do you think? -- GraÅžvydas