|
|
@ -677,13 +677,13 @@ sync_boxes( store_t *ctx[], const char *names[], channel_conf_t *chan ) |
|
|
|
continue; |
|
|
|
continue; |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
rflags = (nflags | aflags) & ~dflags; |
|
|
|
if ((chan->ops[t] & OP_EXPUNGE) && (sflags & F_DELETED) && |
|
|
|
if ((chan->ops[t] & OP_EXPUNGE) && (rflags & F_DELETED) && |
|
|
|
|
|
|
|
(!ctx[t]->conf->trash || ctx[t]->conf->trash_only_new)) |
|
|
|
(!ctx[t]->conf->trash || ctx[t]->conf->trash_only_new)) |
|
|
|
{ |
|
|
|
{ |
|
|
|
aflags &= F_DELETED; |
|
|
|
aflags &= F_DELETED; |
|
|
|
dflags = 0; |
|
|
|
dflags = 0; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
rflags = (nflags | aflags) & ~dflags; |
|
|
|
switch ((aflags | dflags) ? driver[t]->set_flags( ctx[t], srec->msg[t], srec->uid[t], aflags, dflags ) : DRV_OK) { |
|
|
|
switch ((aflags | dflags) ? driver[t]->set_flags( ctx[t], srec->msg[t], srec->uid[t], aflags, dflags ) : DRV_OK) { |
|
|
|
case DRV_STORE_BAD: ret = SYNC_BAD(t); goto finish; |
|
|
|
case DRV_STORE_BAD: ret = SYNC_BAD(t); goto finish; |
|
|
|
case DRV_BOX_BAD: ret = SYNC_FAIL; goto finish; |
|
|
|
case DRV_BOX_BAD: ret = SYNC_FAIL; goto finish; |
|
|
|