atomize & document conditions in load() exception list construction

This commit is contained in:
Oswald Buddenhagen 2020-07-07 21:14:59 +02:00
parent b677bfe7e5
commit abdca388f6

View File

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