summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--os2.c2
-rw-r--r--unix.c4
-rw-r--r--win32.c3
3 files changed, 8 insertions, 1 deletions
diff --git a/os2.c b/os2.c
index 821ebf206..6aa5a61ca 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 c9dcee80b..fd20e3715 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 8ef1caa81..68ef27705 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: