summarylogtreecommitdiffstats
path: root/shortpath.patch
blob: f829f2c7047c4f06b9f4afe6450d45e2edd59e0c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
--- sidebar.c.orig	2014-12-18 23:35:50.589683928 +0000
+++ sidebar.c	2014-12-18 23:30:40.680566728 +0000
@@ -313,6 +313,8 @@
 		sidebar_folder_name = option(OPTSIDEBARSHORTPATH) ? mutt_basename(tmp->path) : tmp->path + maildir_is_prefix*(strlen(Maildir));
 		if ( maildir_is_prefix && option(OPTSIDEBARFOLDERINDENT) ) {
 			char *tmp_folder_name;
+			char *tmp_folder_name_dot;
+			char *tmp_folder_name_slash;
 			int i;
 			tmp_folder_name = tmp->path + strlen(Maildir) + 1;
 			for (i = 0; i < strlen(tmp->path) - strlen(Maildir); i++) {
@@ -320,11 +322,15 @@
 			}   
 			if (sidebar_folder_depth > 0) {
  				if (option(OPTSIDEBARSHORTPATH)) {
- 					tmp_folder_name = strrchr(tmp->path, '.');
- 					if (tmp_folder_name == NULL)
+ 					tmp_folder_name_dot = strrchr(tmp->path, '.');
+ 					tmp_folder_name_slash = strrchr(tmp->path, '/');
+
+                                        if (tmp_folder_name_dot == NULL && tmp_folder_name_slash == NULL)
  						tmp_folder_name = mutt_basename(tmp->path);
- 					else
-						tmp_folder_name++;
+                                        else if (tmp_folder_name_dot > tmp_folder_name_slash)
+                                                tmp_folder_name = tmp_folder_name_dot + 1;
+                                        else
+                                                tmp_folder_name = tmp_folder_name_slash + 1;
  				}
  				else
  					tmp_folder_name = tmp->path + strlen(Maildir) + 1;