From dfd76179660bf353778d89e5184fb97f87c20162 Mon Sep 17 00:00:00 2001 From: Baptiste Daroussin Date: Tue, 24 Mar 2020 15:59:04 +0000 Subject: Update to 20200320 --- mail/neomutt/files/indent-sidebar.patch | 104 -------------------------------- 1 file changed, 104 deletions(-) delete mode 100644 mail/neomutt/files/indent-sidebar.patch (limited to 'mail/neomutt/files') diff --git a/mail/neomutt/files/indent-sidebar.patch b/mail/neomutt/files/indent-sidebar.patch deleted file mode 100644 index d5a530a7d216..000000000000 --- a/mail/neomutt/files/indent-sidebar.patch +++ /dev/null @@ -1,104 +0,0 @@ -From a7f602f120788bb8501cba46e9de6cf9de35a742 Mon Sep 17 00:00:00 2001 -From: Richard Russon -Date: Sun, 15 Mar 2020 17:12:58 +0000 -Subject: [PATCH] fix sidebar indent - -Take care when comparing "$folder" against an IMAP Mailbox path -(the `user@` may not be present on both sides). - -Fixes: #2173 -Fixes: #2175 ---- - sidebar.c | 60 +++++++++++++++++++++++++++++++++++++++++++++++++++---- - 1 file changed, 56 insertions(+), 4 deletions(-) - -diff --git a/sidebar.c b/sidebar.c -index 199fa7df0b..1f0943371a 100644 ---- a/sidebar.c -+++ b/sidebar.c -@@ -36,6 +36,7 @@ - #include - #include "mutt/lib.h" - #include "config/lib.h" -+#include "email/lib.h" - #include "core/lib.h" - #include "gui/lib.h" - #include "sidebar.h" -@@ -833,6 +834,48 @@ static void fill_empty_space(struct MuttWindow *win, int first_row, - } - } - -+/** -+ * imap_is_prefix - Check if folder matches the beginning of mbox -+ * @param folder Folder -+ * @param mbox Mailbox path -+ * @param plen Prefix length -+ * @retval true If folder is the prefix of mbox -+ */ -+static bool imap_is_prefix(const char *folder, const char *mbox, size_t *plen) -+{ -+ struct Url *url_m = url_parse(mbox); -+ struct Url *url_f = url_parse(folder); -+ -+ if (!url_m || !url_f) -+ return false; -+ -+ bool rc = false; -+ -+ if (mutt_str_strcasecmp(url_m->host, url_f->host) != 0) -+ goto done; -+ -+ if (url_m->user && url_f->user && (mutt_str_strcasecmp(url_m->user, url_f->user) != 0)) -+ goto done; -+ -+ size_t mlen = mutt_str_strlen(url_m->path); -+ size_t flen = mutt_str_strlen(url_f->path); -+ if (flen > mlen) -+ goto done; -+ -+ if (mutt_str_strncmp(url_m->path, url_f->path, flen) != 0) -+ goto done; -+ -+ if (url_m->user && !url_f->user) -+ *plen += mutt_str_strlen(url_m->user) + 1; -+ rc = true; -+ -+done: -+ url_free(&url_m); -+ url_free(&url_f); -+ -+ return rc; -+} -+ - /** - * draw_sidebar - Write out a list of mailboxes, in a panel - * @param win Window to draw on -@@ -915,15 +958,24 @@ static void draw_sidebar(struct MuttWindow *win, int num_rows, int num_cols, int - size_t maildirlen = mutt_str_strlen(C_Folder); - if (maildirlen && C_SidebarDelimChars && - strchr(C_SidebarDelimChars, C_Folder[maildirlen - 1])) -+ { - maildirlen--; -+ } - - /* check whether C_Folder is a prefix of the current folder's path */ - bool maildir_is_prefix = false; -- if ((mutt_buffer_len(&m->pathbuf) > maildirlen) && -- (mutt_str_strncmp(C_Folder, mailbox_path(m), maildirlen) == 0) && -- C_SidebarDelimChars && strchr(C_SidebarDelimChars, mailbox_path(m)[maildirlen])) -+ if (m->magic == MUTT_IMAP) - { -- maildir_is_prefix = true; -+ maildir_is_prefix = imap_is_prefix(C_Folder, mailbox_path(m), &maildirlen); -+ } -+ else -+ { -+ if ((mutt_buffer_len(&m->pathbuf) > maildirlen) && -+ (mutt_str_strncmp(C_Folder, mailbox_path(m), maildirlen) == 0) && -+ C_SidebarDelimChars && strchr(C_SidebarDelimChars, mailbox_path(m)[maildirlen])) -+ { -+ maildir_is_prefix = true; -+ } - } - - /* calculate depth of current folder and generate its display name with indented spaces */ -- cgit v1.2.3