]> granicus.if.org Git - neomutt/commitdiff
Fix maildir times in mailboxes browser. Closes #626.
authorRocco Rutte <pdmef@gmx.net>
Wed, 29 Apr 2009 12:49:09 +0000 (14:49 +0200)
committerRocco Rutte <pdmef@gmx.net>
Wed, 29 Apr 2009 12:49:09 +0000 (14:49 +0200)
Instead of using the (pointless) mtime of the top-level maildir folder,
use the latest mtime of the "new" and "cur" subdirectories. Maildir
folders in the mailboxes list can now be properly sorted by date. This
does not affect the directory browser. Also see #2421.

ChangeLog
browser.c

index 6a3257598f1c177d96eb9896f5aa8d05dc212ee4..9d16d5a88e2348d536847ad9c9eca874e8aa6b68 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,17 @@
+2009-04-29 11:53 +0200  Rocco Rutte  <pdmef@gmx.net>  (366d992abcb4)
+
+       * mailbox.h, mh.c, mx.c: Move Maildir/MH folder detection from mx.c to
+       mh.c
+
+2009-04-28 15:12 +0200  Rocco Rutte  <pdmef@gmx.net>  (4d9685be5987)
+
+       * sendlib.c: Fold References: header so we never run into line length
+       problems
+
+2009-04-28 14:27 +0200  Rocco Rutte  <pdmef@gmx.net>  (027edb15e455)
+
+       * ChangeLog, headers.c: Fix comment typo
+
 2009-04-28 14:18 +0200  Bertram Felgenhauer  <int-e@gmx.de>  (6b20a3545f03)
 
        * doc/manual.xml.head, headers.c: Drop References header if In-Reply-
index 2214984bacfb79e7e34b2d56c9fed5751ba4086e..7c2ac458f6b4cdf16868179df655a44df67c1d72 100644 (file)
--- a/browser.c
+++ b/browser.c
@@ -460,6 +460,21 @@ static int examine_mailboxes (MUTTMENU *menu, struct browser_state *state)
     if ((! S_ISREG (s.st_mode)) && (! S_ISDIR (s.st_mode)) &&
        (! S_ISLNK (s.st_mode)))
       continue;
+
+    if (mx_is_maildir (tmp->path))
+    {
+      struct stat st2;
+      char md[_POSIX_PATH_MAX];
+
+      snprintf (md, sizeof (md), "%s/new", tmp->path);
+      if (stat (md, &s) < 0)
+       s.st_mtime = 0;
+      snprintf (md, sizeof (md), "%s/cur", tmp->path);
+      if (stat (md, &st2) < 0)
+       st2.st_mtime = 0;
+      if (st2.st_mtime > s.st_mtime)
+       memcpy (&s, &st2, sizeof (struct stat));
+    }
     
     strfcpy (buffer, NONULL(tmp->path), sizeof (buffer));
     mutt_pretty_mailbox (buffer, sizeof (buffer));