From 1f1632e9a9cde512a7bdfb9c14fc4fdd1de4a318 Mon Sep 17 00:00:00 2001 From: learman Date: Sun, 8 Mar 2009 13:57:10 +0000 Subject: [PATCH] Fix FS#9980: Bookmarking didn't work in the root of a volume (e.g., an SD card). git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20236 a1c6a512-1295-4272-9138-f99709370657 --- apps/bookmark.c | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/apps/bookmark.c b/apps/bookmark.c index 52599519a..9f015f115 100644 --- a/apps/bookmark.c +++ b/apps/bookmark.c @@ -1036,10 +1036,21 @@ static bool generate_bookmark_file_name(const char *in) strcpy(global_bookmark_file_name, "/root_dir.bmark"); else { +#ifdef HAVE_MULTIVOLUME + /* The "root" of an extra volume need special handling too. */ + bool volume_root = (strip_volume(in, global_bookmark_file_name) && + !strcmp("/", global_bookmark_file_name)); +#endif + strcpy(global_bookmark_file_name, in); if(global_bookmark_file_name[len-1] == '/') len--; - strcpy(&global_bookmark_file_name[len], ".bmark"); +#ifdef HAVE_MULTIVOLUME + if (volume_root) + strcpy(&global_bookmark_file_name[len], "/volume_dir.bmark"); + else +#endif + strcpy(&global_bookmark_file_name[len], ".bmark"); } return true; -- 2.11.4.GIT