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 52599519a3..9f015f1156 100644
--- a/apps/bookmark.c
+++ b/apps/bookmark.c
@@ -1036,10 +1036,21 @@ static bool generate_bookmark_file_name(const char *in)
1036 strcpy(global_bookmark_file_name, "/root_dir.bmark"); 1036 strcpy(global_bookmark_file_name, "/root_dir.bmark");
1037 else 1037 else
1038 { 1038 {
1039#ifdef HAVE_MULTIVOLUME
1040 /* The "root" of an extra volume need special handling too. */
1041 bool volume_root = (strip_volume(in, global_bookmark_file_name) &&
1042 !strcmp("/", global_bookmark_file_name));
1043#endif
1044
1039 strcpy(global_bookmark_file_name, in); 1045 strcpy(global_bookmark_file_name, in);
1040 if(global_bookmark_file_name[len-1] == '/') 1046 if(global_bookmark_file_name[len-1] == '/')
1041 len--; 1047 len--;
1042 strcpy(&global_bookmark_file_name[len], ".bmark"); 1048#ifdef HAVE_MULTIVOLUME
1049 if (volume_root)
1050 strcpy(&global_bookmark_file_name[len], "/volume_dir.bmark");
1051 else
1052#endif
1053 strcpy(&global_bookmark_file_name[len], ".bmark");
1043 } 1054 }
1044 1055
1045 return true; 1056 return true;