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)
{
//H_AUTO(FileExists);
#ifdef NL_OS_WINDOWS
DWORD attr = GetFileAttributesW(utf8ToWide(filename));
// attributes are valid and file is not a directory
if (attr == INVALID_FILE_ATTRIBUTES || (attr & FILE_ATTRIBUTE_DIRECTORY)) return false;
FILE *file = nlfopen(filename, "rb");
if (file)
{
fclose(file);
return true;
#else
return access(filename.c_str(), R_OK) != -1;
#endif
}
return false;
}