(svn r2321) - Fix: [ 1202286 ] On OS/2 you get a double backslash in your filename after browsing to the root dir of a drive and "." and ".." are incorrectly displayed. (orudge)

replace/41b28d7194a279bdc17475d4fbe2ea6ec885a466
matthijs 19 years ago
parent 2151550631
commit 89587c1d51

10
os2.c

@ -114,8 +114,8 @@ FiosItem *FiosGetSavegameList(int *num, int mode)
while ((dirent = readdir(dir)) != NULL) {
append_path(filename, _fios_path, dirent->d_name);
if (!stat(filename, &sb) && S_ISDIR(sb.st_mode) &&
strcmp(filename, ".") != 0 &&
strcmp(filename, "..") != 0) {
strcmp(dirent->d_name, ".") != 0 &&
strcmp(dirent->d_name, "..") != 0) {
fios = FiosAlloc();
fios->type = FIOS_TYPE_DIR;
fios->mtime = 0;
@ -243,8 +243,8 @@ FiosItem *FiosGetScenarioList(int *num, int mode)
while ((dirent = readdir(dir)) != NULL) {
append_path(filename, _fios_path, dirent->d_name);
if (!stat(filename, &sb) && S_ISDIR(sb.st_mode) &&
strcmp(filename, ".") != 0 &&
strcmp(filename, "..") != 0) {
strcmp(dirent->d_name, ".") != 0 &&
strcmp(dirent->d_name, "..") != 0) {
fios = FiosAlloc();
fios->type = FIOS_TYPE_DIR;
fios->mtime = 0;
@ -357,7 +357,7 @@ char *FiosBrowseTo(const FiosItem *item)
case FIOS_TYPE_DIR:
s = strchr(item->name, '\\');
if (s != NULL) *s = '\0';
strcat(path, "\\");
if (path[3]!= '\0' ) strcat(path, "\\");
strcat(path, item->name);
break;

Loading…
Cancel
Save