Index: head/mail/mutt/files/extra-patch-maildir-mtime-nntp =================================================================== --- head/mail/mutt/files/extra-patch-maildir-mtime-nntp (revision 508989) +++ head/mail/mutt/files/extra-patch-maildir-mtime-nntp (revision 508990) @@ -1,52 +1,52 @@ ---- PATCHES.orig 2017-09-10 21:57:09 UTC +--- PATCHES.orig 2019-08-15 02:24:43 UTC +++ PATCHES @@ -0,0 +1 @@ +patch-1.5.7.ust.maildir-mtime.2 ---- browser.c.orig 2017-09-10 21:56:59 UTC +--- browser.c.orig 2019-08-15 02:24:39 UTC +++ browser.c @@ -35,6 +35,7 @@ #ifdef USE_NNTP #include "nntp.h" #endif +#include "mx.h" #include #include -@@ -545,6 +546,21 @@ static void init_state (struct browser_s +@@ -592,6 +593,21 @@ static void init_state (struct browser_state *state, M menu->data = state->entry; } +static void check_maildir_times (BUFFY *buf, struct stat *st) +{ + char buffer[_POSIX_PATH_MAX + SHORT_STRING]; + struct stat s; + + if(!buf || buf->magic != MUTT_MAILDIR) + return; + + snprintf (buffer, sizeof (buffer), "%s/tmp", mutt_b2s(buf->pathbuf)); + if (lstat (buffer, &s) != 0) + return; + + st->st_mtime = s.st_mtime; +} + /* get list of all files/newsgroups with mask */ static int examine_directory (MUTTMENU *menu, struct browser_state *state, - char *d, const char *prefix) -@@ -634,6 +650,7 @@ static int examine_directory (MUTTMENU * + const char *d, const char *prefix) +@@ -684,6 +700,7 @@ static int examine_directory (MUTTMENU *menu, struct b tmp = Incoming; - while (tmp && mutt_strcmp (buffer, tmp->path)) + while (tmp && mutt_strcmp (mutt_b2s (buffer), mutt_b2s (tmp->pathbuf))) tmp = tmp->next; + check_maildir_times (tmp, &s); if (tmp && Context && !mutt_strcmp (tmp->realpath, Context->realpath)) { -@@ -737,6 +754,7 @@ static int examine_mailboxes (MUTTMENU * +@@ -792,6 +809,7 @@ static int examine_mailboxes (MUTTMENU *menu, struct b s.st_mtime = st2.st_mtime; } + check_maildir_times (tmp, &s); - add_folder (menu, state, buffer, &s, tmp, NULL); + add_folder (menu, state, mutt_b2s (mailbox), &s, tmp, NULL); } while ((tmp = tmp->next));