diff options
Diffstat (limited to 'drivers/windows/file_access_windows.cpp')
-rw-r--r-- | drivers/windows/file_access_windows.cpp | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/drivers/windows/file_access_windows.cpp b/drivers/windows/file_access_windows.cpp index 23c8ea2ec7..d4b8a8c361 100644 --- a/drivers/windows/file_access_windows.cpp +++ b/drivers/windows/file_access_windows.cpp @@ -78,6 +78,7 @@ Error FileAccessWindows::_open(const String &p_path, int p_mode_flags) { /* pretty much every implementation that uses fopen as primary backend supports utf8 encoding */ + struct _stat st; if (_wstat(path.c_str(), &st) == 0) { @@ -85,6 +86,23 @@ Error FileAccessWindows::_open(const String &p_path, int p_mode_flags) { return ERR_FILE_CANT_OPEN; }; +#ifdef TOOLS_ENABLED + if (p_mode_flags==READ) { + WIN32_FIND_DATAW d = {0}; + HANDLE f = FindFirstFileW(filename.c_str(),&d); + if (f) { + String fname = d.cFileName; + if (fname!=String()) { + + String base_file = filename.get_file(); + if (base_file!=fname && base_file.findn(fname)==0) { + WARN_PRINTS("Case mismatch opening file '"+base_file+"', stored as '"+fname+"' in the filesystem. This file will not open when exported to other platforms."); + } + } + FindClose(f); + } + } +#endif if (is_backup_save_enabled() && p_mode_flags & WRITE && !(p_mode_flags & READ)) { save_path = path; path = path + ".tmp"; |