Alex Riesen said the following on 02.09.2007 23:41: > Marius Storm-Olsen, Sun, Sep 02, 2007 21:31:40 +0200: >> + buf->st_ino = 0; > > You sure about that? Ever wondered why it is not so on everywhere else? Pretty sure. If you look at Windows' native version of stat, it will return you st_ino = 0. Or maybe you where referring to something else, and I just missed your point? AFAIK, the ino in the index is only to be _really_ sure that nothing has changed with the file, and we can just skip it on Windows. If in doubt, try running this on your Windows box: #include #include #include #include int main(int, char **) { wchar_t DirSpec[] = L".\\*"; WIN32_FIND_DATA FindFileData; HANDLE hFind = FindFirstFile(DirSpec, &FindFileData); if (hFind == INVALID_HANDLE_VALUE) { printf ("Crap happened: %u\n", GetLastError()); return -1; } struct _stat buf; while (FindNextFile(hFind, &FindFileData) != 0) { if (!_wstat(FindFileData.cFileName, &buf)) printf("file: %S, ino: %u\n", FindFileData.cFileName, buf.st_ino); } FindClose(hFind); return 0; } -- .marius