(svn r8821) -Regression: Unable to browse directories on *nix if the filesystem is not in UTF-8 charset and special characters are used. The string passed to opendir() which is UTF-8 was not parsed back to the filesystem format. Use a wrapper called ttd_opendir() instead of redefining opendir itself.

This commit is contained in:
Darkvater
2007-02-20 00:09:23 +00:00
parent 5b237758aa
commit 92bbe45dd0
5 changed files with 22 additions and 11 deletions

View File

@@ -224,7 +224,7 @@ static FiosItem *FiosGetFileList(int mode, fios_getlist_callback_proc *callback_
}
/* Show subdirectories */
if (mode != SLD_NEW_GAME && (dir = opendir(_fios_path)) != NULL) {
if (mode != SLD_NEW_GAME && (dir = ttd_opendir(_fios_path)) != NULL) {
while ((dirent = readdir(dir)) != NULL) {
ttd_strlcpy(d_name, FS2OTTD(dirent->d_name), sizeof(d_name));
@@ -254,7 +254,7 @@ static FiosItem *FiosGetFileList(int mode, fios_getlist_callback_proc *callback_
sort_start = _fios_count;
/* Show files */
dir = opendir(_fios_path);
dir = ttd_opendir(_fios_path);
if (dir != NULL) {
while ((dirent = readdir(dir)) != NULL) {
char fios_title[64];