mirror of
https://github.com/scummvm/scummvm.git
synced 2025-04-02 10:52:32 -04:00
On systems where dirent provides a `d_type` field, we currently fall back to stat() only for DT_UNKNOWN values. Do so for all unexpected `d_type` values instead (that is, anything different from DT_DIR, DT_REG and DT_LNK). This is because there's no guarantee that `d_type` will be meaningful for all OSes and filesystems. One such example is macOS Tiger, where `d_type` will hold bogus values for the .aiff files of cddafs mount points (as triggered by MacOSXAudioCDManager). (This bug appears to have been fixed in cddafs-242.0.1, around the Snow Leopard area.) When using stat() over the same files, the proper file type is returned, though. Hence the need for the stat() fallback to be triggered in more cases than DT_UNKNOWN. This fixes Indy3 FM-TOWNS music being silent on macOS Tiger, when playing from the original CD. |
||
---|---|---|
.. | ||
posix-fs-factory.cpp | ||
posix-fs-factory.h | ||
posix-fs.cpp | ||
posix-fs.h | ||
posix-iostream.cpp | ||
posix-iostream.h |