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 57aa5afc4f
commit 79bad39051

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; {
fclose(file);
return true; return true;
#else }
return access(filename.c_str(), R_OK) != -1;
#endif return false;
} }