Changed: Use same algorithm as before Windows unicodes fixes (try to open the file instead of checking its attributes)

This commit is contained in:
kervala 2016-03-16 19:12:34 +01:00
parent 85e9f7eadc
commit b86637ad56

View file

@ -1963,14 +1963,15 @@ bool CFile::createEmptyFile (const std::string& filename)
bool CFile::fileExists (const string& filename) bool CFile::fileExists (const string& filename)
{ {
//H_AUTO(FileExists); //H_AUTO(FileExists);
#ifdef NL_OS_WINDOWS FILE *file = nlfopen(filename, "rb");
DWORD attr = GetFileAttributesW(utf8ToWide(filename));
// attributes are valid and file is not a directory if (file)
if (attr == INVALID_FILE_ATTRIBUTES || (attr & FILE_ATTRIBUTE_DIRECTORY)) return false; {
return true; fclose(file);
#else return true;
return access(filename.c_str(), R_OK) != -1; }
#endif
return false;
} }