summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSolomon Peachy <pizza@shaftnet.org>2024-07-25 21:28:01 -0400
committerSolomon Peachy <pizza@shaftnet.org>2024-07-25 21:28:01 -0400
commite8d7a8baaffbd9060842c8fa959fb5dabf8c0c43 (patch)
treecb337fbbc6f2ca774ed6e527e954205719419c0f
parent10e883fe02f7167967efc048ebc38d1c03ff39ab (diff)
downloadrockbox-e8d7a8baaf.tar.gz
rockbox-e8d7a8baaf.zip
simulator: Fix browsing into secondary drive on multidrive targets
Change-Id: I4e993acdedb516f0ae4fc230a62cb00de8dcef86
-rw-r--r--uisimulator/common/filesystem-sim.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/uisimulator/common/filesystem-sim.c b/uisimulator/common/filesystem-sim.c
index 7a3418021e..786f17e644 100644
--- a/uisimulator/common/filesystem-sim.c
+++ b/uisimulator/common/filesystem-sim.c
@@ -307,9 +307,12 @@ int sim_get_os_path(char *buffer, const char *path, size_t bufsize)
#ifdef HAVE_MULTIVOLUME
if (level != 1)
break; /* Volume spec only valid @ root level */
+ if (p[-1] != PATH_SEPCH)
+ break;
const char *next;
- volume = path_strip_volume(p, &next, true);
+ volume = path_strip_volume(p-1, &next, true);
+
if (volume == ROOT_VOLUME)
volume = 0; /* FIXME: root no longer implies volume 0 */
@@ -831,7 +834,7 @@ int os_volume_path(IF_MV(int volume, ) char *buffer, size_t bufsize)
char volname[VOL_MAX_LEN + 1];
get_volume_name(volume, volname);
- if (path_append(tmpbuf, PA_SEP_HARD, volname, sizeof (volname))
+ if (path_append(tmpbuf, PA_SEP_HARD, volname, sizeof (tmpbuf))
>= sizeof (volname))
return -1;
#endif /* HAVE_MULTIVOLUME */