diff options
-rw-r--r-- | apps/bookmark.c | 13 |
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; |