bug in std.file.listdir (fix included)

Nick Nick_member at pathlink.com
Mon Feb 20 06:10:57 PST 2006


Runnig the following:

# bool callback(DirEntry* de)
# {
#   writefln(de.name, " ", de.size);
#   return true;
# }
# 
# listdir(".", &callback);

will output bogus sizes for all the files except the first. It would also do the
same for access times, etc. The bug lies in the 'lazy' evaluation of stat()
found in the linux version of the DirEntry struct. To fix it, add the line

didstat = 0;

to DirEntry.init(), found at line 1126 of std/file.d.

Nick





More information about the Digitalmars-d-bugs mailing list