diff --git a/os2.c b/os2.c index 821ebf2067..6aa5a61ca6 100644 --- a/os2.c +++ b/os2.c @@ -356,6 +356,8 @@ char *FiosBrowseTo(const FiosItem *item) case FIOS_TYPE_DIRECT: sprintf(path, "%s\\", item->name); + s = strrchr(path, '\\'); + if (s[1] == '\0') s[0] = '\0'; // strip trailing slash break; case FIOS_TYPE_FILE: diff --git a/unix.c b/unix.c index c9dcee80bf..fd20e37150 100644 --- a/unix.c +++ b/unix.c @@ -312,7 +312,9 @@ char *FiosBrowseTo(const FiosItem *item) break; case FIOS_TYPE_DIRECT: - sprintf(path, "%s\\", item->name); + sprintf(path, "%s/", item->name); + s = strrchr(path, '/'); + if (s[1] == '\0') s[0] = '\0'; // strip trailing slash break; case FIOS_TYPE_FILE: diff --git a/win32.c b/win32.c index 8ef1caa815..68ef277059 100644 --- a/win32.c +++ b/win32.c @@ -919,6 +919,9 @@ char *FiosBrowseTo(const FiosItem *item) case FIOS_TYPE_DIRECT: sprintf(path, "%s\\", item->name); + s = strrchr(path, '\\'); + if (s[1] == '\0') s[0] = '\0'; // strip trailing slash + break; case FIOS_TYPE_FILE: