mirror of https://github.com/OpenTTD/OpenTTD
(svn r25154) -Fix: [Win32] Don't store invalid paths in the search path list.
parent
d1212e0b1a
commit
3349cb3347
|
@ -505,19 +505,25 @@ void DetermineBasePaths(const char *exe)
|
|||
char tmp[MAX_PATH];
|
||||
TCHAR path[MAX_PATH];
|
||||
#ifdef WITH_PERSONAL_DIR
|
||||
OTTDSHGetFolderPath(NULL, CSIDL_PERSONAL, NULL, SHGFP_TYPE_CURRENT, path);
|
||||
strecpy(tmp, WIDE_TO_MB_BUFFER(path, tmp, lengthof(tmp)), lastof(tmp));
|
||||
AppendPathSeparator(tmp, MAX_PATH);
|
||||
ttd_strlcat(tmp, PERSONAL_DIR, MAX_PATH);
|
||||
AppendPathSeparator(tmp, MAX_PATH);
|
||||
_searchpaths[SP_PERSONAL_DIR] = strdup(tmp);
|
||||
if (SUCCEEDED(OTTDSHGetFolderPath(NULL, CSIDL_PERSONAL, NULL, SHGFP_TYPE_CURRENT, path))) {
|
||||
strecpy(tmp, WIDE_TO_MB_BUFFER(path, tmp, lengthof(tmp)), lastof(tmp));
|
||||
AppendPathSeparator(tmp, MAX_PATH);
|
||||
ttd_strlcat(tmp, PERSONAL_DIR, MAX_PATH);
|
||||
AppendPathSeparator(tmp, MAX_PATH);
|
||||
_searchpaths[SP_PERSONAL_DIR] = strdup(tmp);
|
||||
} else {
|
||||
_searchpaths[SP_PERSONAL_DIR] = NULL;
|
||||
}
|
||||
|
||||
OTTDSHGetFolderPath(NULL, CSIDL_COMMON_DOCUMENTS, NULL, SHGFP_TYPE_CURRENT, path);
|
||||
strecpy(tmp, WIDE_TO_MB_BUFFER(path, tmp, lengthof(tmp)), lastof(tmp));
|
||||
AppendPathSeparator(tmp, MAX_PATH);
|
||||
ttd_strlcat(tmp, PERSONAL_DIR, MAX_PATH);
|
||||
AppendPathSeparator(tmp, MAX_PATH);
|
||||
_searchpaths[SP_SHARED_DIR] = strdup(tmp);
|
||||
if (SUCCEEDED(OTTDSHGetFolderPath(NULL, CSIDL_COMMON_DOCUMENTS, NULL, SHGFP_TYPE_CURRENT, path))) {
|
||||
strecpy(tmp, WIDE_TO_MB_BUFFER(path, tmp, lengthof(tmp)), lastof(tmp));
|
||||
AppendPathSeparator(tmp, MAX_PATH);
|
||||
ttd_strlcat(tmp, PERSONAL_DIR, MAX_PATH);
|
||||
AppendPathSeparator(tmp, MAX_PATH);
|
||||
_searchpaths[SP_SHARED_DIR] = strdup(tmp);
|
||||
} else {
|
||||
_searchpaths[SP_SHARED_DIR] = NULL;
|
||||
}
|
||||
#else
|
||||
_searchpaths[SP_PERSONAL_DIR] = NULL;
|
||||
_searchpaths[SP_SHARED_DIR] = NULL;
|
||||
|
|
Loading…
Reference in New Issue