blob: 8e23afd6399109a2ad46542dd5b0ceb7cb509173 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
|
--- bbmail-0.6.10.orig/bbmail.cc
+++ bbmail-0.6.10/bbmail.cc
@@ -55,7 +55,7 @@
}
bool Checkmail::CheckMHBox(int spoolno,bool force) {
- struct stat file_status;
+ struct stat file_status, maildir_status;
FILE *fp;
int num[2]={-1,-1};
int number_of_values;
@@ -67,6 +67,23 @@
bbtool->getResource()->spoolfile[spoolno].filename);
return(false);
}
+
+ // check maildir new/ and cur/ directories
+ char *maildir = new
+ char[strlen (bbtool->getResource()->spoolfile[spoolno].filename) + 5];
+ sprintf (maildir, "%s/new", bbtool->getResource()->spoolfile[spoolno].filename);
+ if (stat (maildir, &maildir_status) == 0 &&
+ maildir_status.st_mtime > file_status.st_mtime) {
+ file_status.st_mtime = maildir_status.st_mtime;
+ }
+
+ sprintf (maildir, "%s/cur", bbtool->getResource()->spoolfile[spoolno].filename);
+ if (stat (maildir, &maildir_status) == 0 &&
+ maildir_status.st_mtime > file_status.st_mtime) {
+ file_status.st_mtime = maildir_status.st_mtime;
+ }
+
+ delete [] maildir;
}
if ((file_status.st_mtime != spoolfile[spoolno].last_mtime)&&
|