IO: remove fast path of ffPathExists, which causes too many problems

Fix #1662
This commit is contained in:
李通洲
2025-04-03 22:37:58 +08:00
parent f04851891e
commit 6bbed12083
-19
View File
@@ -119,7 +119,6 @@ static inline bool ffPathExists(const char* path, FFPathType pathType)
}
else
{
#if (__APPLE__ || __HAIKU__) // #1395
struct stat fileStat;
if(stat(path, &fileStat) != 0)
return false;
@@ -131,24 +130,6 @@ static inline bool ffPathExists(const char* path, FFPathType pathType)
if(pathType & FF_PATHTYPE_DIRECTORY && mode == S_IFDIR)
return true;
#else
size_t len = strlen(path);
assert(len < PATH_MAX);
if (len == 0) return false;
int ret;
if (path[len - 1] != '/')
{
char buf[PATH_MAX + 1];
memcpy(buf, path, len);
buf[len] = '/';
buf[len + 1] = 0;
ret = access(buf, F_OK);
}
else
ret = access(path, F_OK);
return pathType == FF_PATHTYPE_DIRECTORY ? ret == 0 : ret == -1 && errno == ENOTDIR;
#endif
}
#endif