]> git.llucax.com Git - software/mutt-debian.git/blobdiff - debian/patches/features/maildir-mtime
bug annotations
[software/mutt-debian.git] / debian / patches / features / maildir-mtime
index 7998982078b196d8b378f89709f8ccf265900753..490fb7b0064ed6b26297d950436ebb7a7f0ef97d 100644 (file)
@@ -13,67 +13,38 @@ The home page for this patch is:
   - removed a spurious const in add_folder() definition.
   - added a $maildir_mtime option to allow this patch to be disabled at
     runtime (see Bug#253261, comments from Zephaniah E. Hull).
+  - 2007-04-03 myon: resolved conflict in browser.c
 
 == END PATCH
---- maildir-mtime/PATCHES Dec 2002 17:44:54 -0000      3.6
-+++ maildir-mtime/PATCHES Feb 2004 13:19:42 -0000
-@@ -0,0 +1 @@
-+patch-1.5.6.dw.maildir-mtime.1
---- maildir-mtime/browser.c Sep 2003 13:03:25 -0000    3.9
-+++ maildir-mtime/browser.c Feb 2004 13:19:42 -0000
-@@ -29,2 +29,3 @@
- #endif
-+#include "mx.h"
-@@ -304,4 +305,6 @@ folder_format_str (char *dest, size_t de
- static void add_folder (MUTTMENU *m, struct browser_state *state,
--                      const char *name, const struct stat *s, int new)
-+                      const char *name, /*DEB const IAN*/ struct stat *s, BUFFY *mbuf)
- {
-+  int new = (mbuf) ? mbuf->new : 0;
-+
-   if (state->entrylen == state->entrymax)
-@@ -317,2 +320,5 @@ static void add_folder (MUTTMENU *m, str
-+  if (mbuf && mbuf->magic == M_MAILDIR && mbuf->mtime)
-+    s->st_mtime = mbuf->mtime;
-+
-   if (s != NULL)
-@@ -411,3 +417,3 @@ static int examine_directory (MUTTMENU *
-       tmp = tmp->next;
--    add_folder (menu, state, de->d_name, &s, (tmp) ? tmp->new : 0);
-+    add_folder (menu, state, de->d_name, &s, tmp);
-   }
-@@ -435,3 +441,3 @@ static int examine_mailboxes (MUTTMENU *
-     {
--      add_folder (menu, state, tmp->path, NULL, tmp->new);
-+      add_folder (menu, state, tmp->path, NULL, tmp);
-       continue;
-@@ -442,3 +448,3 @@ static int examine_mailboxes (MUTTMENU *
-     {
--      add_folder (menu, state, tmp->path, NULL, tmp->new);
-+      add_folder (menu, state, tmp->path, NULL, tmp);
-       continue;
-@@ -456,3 +462,3 @@ static int examine_mailboxes (MUTTMENU *
--    add_folder (menu, state, buffer, &s, tmp->new);
-+    add_folder (menu, state, buffer, &s, tmp);
-   }
---- maildir-mtime/buffy.c Feb 2004 17:50:43 -0000      3.9
-+++ maildir-mtime/buffy.c Feb 2004 13:19:42 -0000
-@@ -229,2 +229,3 @@ int mutt_parse_mailboxes (BUFFER *path, 
+--- a/buffy.c
++++ b/buffy.c
+@@ -257,6 +257,7 @@
+     (*tmp)->new = 0;
+     (*tmp)->notified = 1;
      (*tmp)->newly_created = 0;
 +    (*tmp)->mtime = 0;
  
-@@ -260,2 +261,3 @@ int mutt_buffy_check (int force)
+     /* for check_mbox_size, it is important that if the folder is new (tested by
+      * reading it), the size is set to 0 so that later when we check we see
+@@ -285,6 +286,7 @@
+ {
+   BUFFY *tmp;
    struct stat sb;
 +  struct stat smd;
    struct dirent *de;
-@@ -299,2 +301,3 @@ int mutt_buffy_check (int force)
+   DIR *dirp;
+   char path[_POSIX_PATH_MAX];
+@@ -333,6 +335,7 @@
+     if (tmp->magic != M_IMAP)
+ #endif
      tmp->new = 0;
 +    tmp->mtime = 0;
  
-@@ -383,6 +386,13 @@ int mutt_buffy_check (int force)
+ #ifdef USE_IMAP
+     if (tmp->magic != M_IMAP)
+@@ -415,10 +418,20 @@
+         if (*de->d_name != '.' && 
+             (!(p = strstr (de->d_name, ":2,")) || !strchr (p + 3, 'T')))
          {
 -          /* one new and undeleted message is enough */
 -          BuffyCount++;
@@ -84,6 +55,9 @@ The home page for this patch is:
 +            /* one new and undeleted message is enough */
 +            BuffyCount++;
 +            tmp->new = 1;
++
++            if (! option (OPTMAILDIRMTIME)) /* prevent stat calls */
++              break;
 +          }
 +          snprintf (path, sizeof (path), "%s/new/%s", tmp->path, de->d_name);
 +          if (!stat (path, &smd) && smd.st_mtime > tmp->mtime)
@@ -91,27 +65,11 @@ The home page for this patch is:
 +            tmp->mtime = smd.st_mtime;
 +          }
          }
---- maildir-mtime/buffy.h Dec 2002 11:19:39 -0000      3.2
-+++ maildir-mtime/buffy.h Feb 2004 13:19:42 -0000
-@@ -29,2 +29,3 @@ typedef struct buffy_t
-   struct buffy_t *next;
-+  time_t mtime;                       /* for maildirs...time of newest entry */
-   short new;                  /* mailbox has new mail */
---- DEBIAN/buffy.c
-+++ DEBIAN/buffy.c.new
-@@ -389,6 +389,9 @@
-             /* one new and undeleted message is enough */
-             BuffyCount++;
-             tmp->new = 1;
-+
-+            if (! option (OPTMAILDIRMTIME)) /* prevent stat calls */
-+              break;
-           }
-           snprintf (path, sizeof (path), "%s/new/%s", tmp->path, de->d_name);
-           if (!stat (path, &smd) && smd.st_mtime > tmp->mtime)
---- DEBIAN/init.h
-+++ DEBIAN/init.h.new
-@@ -1022,6 +1022,16 @@
+       }
+       closedir (dirp);
+--- a/init.h
++++ b/init.h
+@@ -1350,6 +1350,16 @@
    ** \fBDON'T CHANGE THIS SETTING UNLESS YOU ARE REALLY SURE WHAT YOU ARE
    ** DOING!\fP
    */
@@ -126,11 +84,11 @@ The home page for this patch is:
 +  **
 +  */
  #ifdef USE_HCACHE
-   { "header_cache", DT_PATH, R_NONE, UL &HeaderCache, 0 },
---- DEBIAN/mutt.h
-+++ DEBIAN/mutt.h.new
-@@ -396,6 +396,7 @@
+   { "maildir_header_cache_verify", DT_BOOL, R_NONE, OPTHCACHEVERIFY, 1 },
+   /*
+--- a/mutt.h
++++ b/mutt.h
+@@ -384,6 +384,7 @@
    OPTINCLUDEONLYFIRST,
    OPTKEEPFLAGGED,
    OPTMAILCAPSANITIZE,
@@ -138,3 +96,81 @@ The home page for this patch is:
    OPTMAILDIRTRASH,
    OPTMARKERS,
    OPTMARKOLD,
+--- a/browser.c
++++ b/browser.c
+@@ -32,6 +32,7 @@
+ #ifdef USE_IMAP
+ #include "imap.h"
+ #endif
++#include "mx.h"
+ #include <stdlib.h>
+ #include <dirent.h>
+@@ -308,8 +309,10 @@
+ }
+ static void add_folder (MUTTMENU *m, struct browser_state *state,
+-                      const char *name, const struct stat *s, int new)
++                      const char *name, /*DEB const IAN*/ struct stat *s, BUFFY *mbuf)
+ {
++  int new = (mbuf) ? mbuf->new : 0;
++
+   if (state->entrylen == state->entrymax)
+   {
+     /* need to allocate more space */
+@@ -321,6 +324,9 @@
+       m->data = state->entry;
+   }
++  if (mbuf && mbuf->magic == M_MAILDIR && mbuf->mtime)
++    s->st_mtime = mbuf->mtime;
++
+   if (s != NULL)
+   {
+     (state->entry)[state->entrylen].mode = s->st_mode;
+@@ -415,7 +421,7 @@
+     tmp = Incoming;
+     while (tmp && mutt_strcmp (buffer, tmp->path))
+       tmp = tmp->next;
+-    add_folder (menu, state, de->d_name, &s, (tmp) ? tmp->new : 0);
++    add_folder (menu, state, de->d_name, &s, tmp);
+   }
+   closedir (dp);  
+   browser_sort (state);
+@@ -443,14 +449,15 @@
+     if (mx_is_imap (tmp->path))
+     {
+       imap_mailbox_state (tmp->path, &mbox);
+-      add_folder (menu, state, tmp->path, NULL, mbox.new);
++      tmp->new = mbox.new;
++      add_folder (menu, state, tmp->path, NULL, tmp);
+       continue;
+     }
+ #endif
+ #ifdef USE_POP
+     if (mx_is_pop (tmp->path))
+     {
+-      add_folder (menu, state, tmp->path, NULL, tmp->new);
++      add_folder (menu, state, tmp->path, NULL, tmp);
+       continue;
+     }
+ #endif
+@@ -479,7 +486,7 @@
+     strfcpy (buffer, NONULL(tmp->path), sizeof (buffer));
+     mutt_pretty_mailbox (buffer, sizeof (buffer));
+-    add_folder (menu, state, buffer, &s, tmp->new);
++    add_folder (menu, state, buffer, &s, tmp);
+   }
+   while ((tmp = tmp->next));
+   browser_sort (state);
+--- a/buffy.h
++++ b/buffy.h
+@@ -25,6 +25,7 @@
+   char path[_POSIX_PATH_MAX];
+   off_t size;
+   struct buffy_t *next;
++  time_t mtime;                       /* for maildirs...time of newest entry */
+   short new;                  /* mailbox has new mail */
+   short notified;             /* user has been notified */
+   short magic;                        /* mailbox type */