Hello everyone!
Hope that's the right place for such things ;)
I've written a program using the LINUX unit, that looks through a directory tree using the code-snipplet below. The purpose is to find the subdirectories of the dir and then search in them, performing the same routine.
The problem I encountered is, that some of the found directories are in fact no dirs at all, and some other dirs aren't found. After some days of searching for the buggy place I didn't find it, when I check those files and dirs using "ls -l" the dirs are mod 755 and the files 644.
Is there a bug in S_ISDIR respectively in the FSTAT call or is something wrong with my filesystem?
Thanks
Tobias
[begin code snipplet from "getfiles" procedure]
dirs := Glob('*');
if LinuxError = 0 then
while dirs nil do begin
fstat (dirs^.name, info);
if not (dirs^.name[0] = '.') then begin
if S_ISDIR(info.mode) then begin
if RunInDebug then writeln(' > checking ', dirs^.name);
getfiles(dir + dirs^.name);
end;
end else
if RunInDebug then writeln(' > skipping ', dirs^.name);
dirs := dirs^.next;
end;
globfree(dirs);[end code snipplet]
