summaryrefslogtreecommitdiff
path: root/apps
diff options
context:
space:
mode:
Diffstat (limited to 'apps')
-rw-r--r--apps/bookmark.c13
1 files changed, 12 insertions, 1 deletions
diff --git a/apps/bookmark.c b/apps/bookmark.c
index 5259951..9f015f1 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;