Closed dmik closed 6 years ago
Note that besides passing DT_LNK from Unix EAs to the readdir
result I also implemented passing the inode number as well because there was a todo for that since long (by Knut, I suppose) and because it's the very same code anyway. Now the inode returned by readdir
is consistent with what stat
returns for the same file.
This inode extension, however, breaks ABI for some internal (but publicly available) structures and, consequently, functions using these structures in libc066.dll, namely:
struct _dircontents
struct _find
__findfirst/__findnext
It shouldn't be an issue because apps which are not part of kLIBC are forbidden to use these internal APIs. However, those who do, can be brought in-line by a simple recompile against the new headers. Also, if we find an app that depends on these APIs and can't be built (this is very unlikely), there is an option to disable the inode extension or provide a wrapper DLL that will fix it in-place.
Currently it returns DT_REG. See https://github.com/bitwiseworks/qtbase-os2/issues/40 for a real life example.