|
@@ -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 {
|