isync

mailbox synchronization program
git clone https://git.code.sf.net/p/isync/isync
Log | Files | Refs | README | LICENSE

commit abdca388f6f0200120e244220539803b1461df28
parent b677bfe7e530da38e135fab0c6e4309a9e0de201
Author: Oswald Buddenhagen <ossi@users.sf.net>
Date:   Tue,  7 Jul 2020 21:14:59 +0200

atomize & document conditions in load() exception list construction

Diffstat:
Msrc/sync.c | 18++++++++++--------
1 file changed, 10 insertions(+), 8 deletions(-)

diff --git a/src/sync.c b/src/sync.c @@ -1310,14 +1310,16 @@ box_opened2( sync_vars_t *svars, int t ) for (srec = svars->srecs; srec; srec = srec->next) { if (srec->status & S_DEAD) continue; - if (!srec->uid[M]) // No message; other state is irrelevant - continue; - if (minwuid > srec->uid[M] && (!(svars->opts[M] & OPEN_NEW) || svars->maxuid[M] >= srec->uid[M])) { - if (!srec->uid[S] && !(srec->status & S_PENDING)) // Only actually paired up messages matter - continue; - /* The pair is alive, but outside the bulk range. */ - *uint_array_append( &mexcs ) = srec->uid[M]; - } + if (!srec->uid[M]) + continue; // No message; other state is irrelevant + if (srec->uid[M] >= minwuid) + continue; // Message is in non-expired range + if ((svars->opts[M] & OPEN_NEW) && srec->uid[M] >= svars->maxuid[M]) + continue; // Message is in expired range, but new range overlaps that + if (!srec->uid[S] && !(srec->status & S_PENDING)) + continue; // Only actually paired up messages matter + // The pair is alive, but outside the bulk range + *uint_array_append( &mexcs ) = srec->uid[M]; } sort_uint_array( mexcs.array ); } else {