summaryrefslogtreecommitdiff
path: root/pith/folder.c
diff options
context:
space:
mode:
authorEduardo Chappa <chappa@washington.edu>2013-08-18 01:59:52 -0600
committerEduardo Chappa <chappa@washington.edu>2013-08-18 01:59:52 -0600
commitdd9bd7bac749b3908a406d78ce02fb7a39ef81c8 (patch)
treebcd3c72674a0e59ff76d2aa70451fff87de17ece /pith/folder.c
parentc7f649c87f18773b00b955858992783e4d34e168 (diff)
downloadalpine-dd9bd7bac749b3908a406d78ce02fb7a39ef81c8.tar.xz
* Opening a folder updates recent count in maildrops.
* Fixes to configure script so that it will not require PAM for every system. * Fix to configure script so that it will use CPPFLAGS instead of CPPCFLAGS, and so the --with-ssl-include-dir option take effect during the build. Fix by Ulf-Dietrich Braumann. * Fix in WebAlpine: do not use deprecated dereference in pointer, needs to use tcl_getstringresult() instead. Reported by Ulf-Dietrich Braumann. * Fix in configure script to detect location of tcl library; add /usr/local in FreeBSD and fix a bug in configure script that used $alpine_TCLINC instead of $alpine_TCLINC/tcl.h. Reported and fixed by Werner Scheinast. * Move SSL configurations from UW-IMAP to configure script.
Diffstat (limited to 'pith/folder.c')
-rw-r--r--pith/folder.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/pith/folder.c b/pith/folder.c
index d07604a0..4536400e 100644
--- a/pith/folder.c
+++ b/pith/folder.c
@@ -2356,7 +2356,7 @@ update_folder_unseen_by_stream(MAILSTREAM *strm, unsigned long flags)
{
CONTEXT_S *ctxt;
int ftotal, i;
- char mailbox_name[MAILTMPLEN];
+ char mailbox_name[MAILTMPLEN], *target;
char *cn, tmp[MAILTMPLEN];
FOLDER_S *f;
@@ -2371,7 +2371,12 @@ update_folder_unseen_by_stream(MAILSTREAM *strm, unsigned long flags)
for(i = 0; i < ftotal; i++){
f = folder_entry(i, FOLDERS(ctxt));
context_apply(mailbox_name, ctxt, f->name, MAILTMPLEN);
- if(same_stream_and_mailbox(mailbox_name, strm)
+
+ if((check_for_move_mbox(mailbox_name, NULL, 0, &target)
+ && strm->snarf.name
+ && (!strcmp(target,strm->mailbox)
+ || !strcmp(target,strm->original_mailbox)))
+ || same_stream_and_mailbox(mailbox_name, strm)
|| (!IS_REMOTE(mailbox_name) && (cn=mailboxfile(tmp,mailbox_name)) && (*cn) && (!strcmp(cn, strm->mailbox) || !strcmp(cn, strm->original_mailbox)))){
/* if we failed earlier on this one, give it another go */
if(f->last_unseen_update == LUU_NOMORECHK)