Changeset - r14058:2b8fd62e33ed
[Not reviewed]
master
0 1 0
rubidium - 14 years ago 2009-12-23 09:08:52
rubidium@openttd.org
(svn r18611) -Fix (r18608): uppercase-to-lowercase conversion when opening a file wasn't applied when finding the full path of a file
1 file changed with 8 insertions and 1 deletions:
0 comments (0 inline, 0 general)
src/fileio.cpp
Show inline comments
 
@@ -272,6 +272,13 @@ char *FioFindFullPath(char *buf, size_t 
 
	FOR_ALL_SEARCHPATHS(sp) {
 
		FioGetFullPath(buf, buflen, sp, subdir, filename);
 
		if (FileExists(buf)) break;
 
#if !defined(WIN32)
 
		/* Be, as opening files, aware that sometimes the filename
 
		 * might be in uppercase when it is in lowercase on the
 
		 * disk. Ofcourse Windows doesn't care about casing. */
 
		strtolower(buf + ((subdir == NO_DIRECTORY) ? 0 : strlen(_searchpaths[sp]) - 1));
 
		if (FileExists(buf)) break;
 
#endif
 
	}
 

	
 
	return buf;
 
@@ -968,7 +975,7 @@ void DeterminePaths(const char *exe)
 
	FioCreateDirectory(_searchpaths[SP_AUTODOWNLOAD_DIR]);
 

	
 
	/* Create the directory for each of the types of content */
 
	const Subdirectory dirs[] = { SCENARIO_DIR, HEIGHTMAP_DIR, DATA_DIR, AI_DIR, AI_LIBRARY_DIR };
 
	const Subdirectory dirs[] = { SCENARIO_DIR, HEIGHTMAP_DIR, DATA_DIR, AI_DIR, AI_LIBRARY_DIR, GM_DIR };
 
	for (uint i = 0; i < lengthof(dirs); i++) {
 
		char *tmp = str_fmt("%s%s", _searchpaths[SP_AUTODOWNLOAD_DIR], _subdirs[dirs[i]]);
 
		FioCreateDirectory(tmp);
0 comments (0 inline, 0 general)