Changeset - r2532:0424a42ac49c
[Not reviewed]
master
0 1 0
Darkvater - 19 years ago 2005-10-18 20:18:05
darkvater@openttd.org
(svn r3061) - CodeChange: revert r3056, r3057 and add a simpler fix to satisfy the needs of the absolute strict (eg. root directory is C:\ not C:)
1 file changed with 8 insertions and 4 deletions:
win32.c
8
4
0 comments (0 inline, 0 general)
win32.c
Show inline comments
 
@@ -630,8 +630,9 @@ static HANDLE MyFindFirstFile(const char
 
	UINT sem = SetErrorMode(SEM_FAILCRITICALERRORS); // disable 'no-disk' message box
 
	HANDLE h;
 
	char paths[MAX_PATH];
 
	const char *s = strrchr(path, '\\');
 

	
 
	snprintf(paths, sizeof(paths), "%s\\%s", path, file);
 
	snprintf(paths, sizeof(paths), "%s%s%s", path, (s[1] == '\0') ? "" : "\\", file);
 
	h = FindFirstFile(paths, fd);
 

	
 
	SetErrorMode(sem); // restore previous setting
 
@@ -671,7 +672,7 @@ FiosItem *FiosGetSavegameList(int *num, 
 
	_fios_path = _fios_save_path;
 

	
 
	// Parent directory, only if not of the type C:\.
 
	if (_fios_path[2] != '\0') {
 
	if (_fios_path[3] != '\0') {
 
		fios = FiosAlloc();
 
		fios->type = FIOS_TYPE_PARENT;
 
		fios->mtime = 0;
 
@@ -900,12 +901,15 @@ char *FiosBrowseTo(const FiosItem *item)
 

	
 
	switch (item->type) {
 
		case FIOS_TYPE_DRIVE:
 
			sprintf(path, "%c:", item->title[0]);
 
			sprintf(path, "%c:\\", item->title[0]);
 
			break;
 

	
 
		case FIOS_TYPE_PARENT:
 
			s = strrchr(path, '\\');
 
			s[0] = '\0';
 
			if (s != path + 2)
 
				s[0] = '\0';
 
			else
 
				s[1] = '\0';
 
			break;
 

	
 
		case FIOS_TYPE_DIR:
0 comments (0 inline, 0 general)