summaryrefslogtreecommitdiff
path: root/firmware/common/dir.c
diff options
context:
space:
mode:
authorWilliam Wilgus <wilgus.william@gmail.com>2024-03-21 18:27:23 -0400
committerWilliam Wilgus <wilgus.william@gmail.com>2024-03-23 01:03:33 -0400
commitfdc3668a6a4d85fa6dde890ced7e9b850233bc0d (patch)
tree5b686359a60acaf753a66f2d09078607b9b11b45 /firmware/common/dir.c
parentae01ea7fd93d4ed3e1a97f9c9b25ca072ebbc431 (diff)
downloadrockbox-fdc3668a6a4d85fa6dde890ced7e9b850233bc0d.tar.gz
rockbox-fdc3668a6a4d85fa6dde890ced7e9b850233bc0d.zip
[BugFix] Multiboot Database duplicate files
When the sd card is mounted into the root namespace the database picks up files through both paths previously we hid the mounted drive but this causes issues with users databases when the drive letter changes Adds a way to keep track of volumes mounted in the root namespace Hides the enumerated volume in root Database: we can just parse the root directory ('/') and get to any mounted volume but we can also enumerate a volume in the root directory when this occurs it leads to multiple entries since the files can be reached through multiple paths ex, /Foo could also be /SD1/Foo Instead we will attempt to rewrite the root with any non-hidden volumes failing that just leave the paths alone Change-Id: I7bdba8cfaf63902d2a3852d28484bcf8ca317ebd
Diffstat (limited to 'firmware/common/dir.c')
-rw-r--r--firmware/common/dir.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/firmware/common/dir.c b/firmware/common/dir.c
index 45749b8474..9a78d910a7 100644
--- a/firmware/common/dir.c
+++ b/firmware/common/dir.c
@@ -344,3 +344,9 @@ struct dirinfo dir_get_info(DIR *dirp, struct dirent *entry)
344file_error: 344file_error:
345 return (struct dirinfo){ .attribute = 0 }; 345 return (struct dirinfo){ .attribute = 0 };
346} 346}
347
348const char* root_realpath(void)
349{
350 /* Native only, for APP and SIM see respective filesystem-.c files */
351 return root_get_realpath(); /* rb_namespace.c */
352}