]> granicus.if.org Git - neomutt/commitdiff
Fixup atime for mbox/mmdf also when mailbox is unchanged but has new mail. See #1362.
authorRocco Rutte <pdmef@gmx.net>
Fri, 19 Jun 2009 20:49:54 +0000 (22:49 +0200)
committerRocco Rutte <pdmef@gmx.net>
Fri, 19 Jun 2009 20:49:54 +0000 (22:49 +0200)
mbox.c
mx.c
mx.h

diff --git a/mbox.c b/mbox.c
index ecd63f9d12ca5614cab2e96b02389f26ec6243b8..6c659ba7f2a9da7270fe23d86b4711d0cc55c1f5 100644 (file)
--- a/mbox.c
+++ b/mbox.c
@@ -681,7 +681,7 @@ int mbox_check_mailbox (CONTEXT *ctx, int *index_hint)
 
 /* if mailbox has at least 1 new message, sets mtime > atime of mailbox
  * so buffy check reports new mail */
-static void reset_atime (CONTEXT *ctx, struct stat *st)
+void mbox_reset_atime (CONTEXT *ctx, struct stat *st)
 {
   struct utimbuf utimebuf;
   int i, found = 0;
@@ -991,7 +991,7 @@ int mbox_sync_mailbox (CONTEXT *ctx, int *index_hint)
   }
 
   /* Restore the previous access/modification times */
-  reset_atime (ctx, &statbuf);
+  mbox_reset_atime (ctx, &statbuf);
 
   /* reopen the mailbox in read-only mode */
   if ((ctx->fp = fopen (ctx->path, "r")) == NULL)
diff --git a/mx.c b/mx.c
index 22f37ff0e3e380e5f77eec330a28955b78d6e2f1..ec724a9256a010415a7bd0a0271b41638cb20da9 100644 (file)
--- a/mx.c
+++ b/mx.c
@@ -926,6 +926,8 @@ int mx_close_mailbox (CONTEXT *ctx, int *index_hint)
   {
     if (!ctx->quiet)
       mutt_message _("Mailbox is unchanged.");
+    if (ctx->magic == M_MBOX || ctx->magic == M_MMDF)
+      mbox_reset_atime (ctx, NULL);
     mx_fastclose_mailbox (ctx);
     return 0;
   }
diff --git a/mx.h b/mx.h
index 48ddaba0f99a7a48eedc0a82df04c19f49c379af..a4d4ee8ef78e4da35cf66c13c06d597e621fa88f 100644 (file)
--- a/mx.h
+++ b/mx.h
@@ -56,6 +56,7 @@ int mbox_parse_mailbox (CONTEXT *);
 int mmdf_parse_mailbox (CONTEXT *);
 void mbox_unlock_mailbox (CONTEXT *);
 int mbox_check_empty (const char *);
+void mbox_reset_atime (CONTEXT *, struct stat *);
 
 int mh_read_dir (CONTEXT *, const char *);
 int mh_sync_mailbox (CONTEXT *, int *);