struct index_mailbox *ibox = mail->ibox;
const void *data;
uint64_t offset;
+ int ret;
if (ibox->mbox_lock_type == F_UNLCK) {
if (mbox_sync(ibox, FALSE, FALSE, TRUE) < 0)
if (mbox_file_open_stream(ibox) < 0)
return -1;
- if (mail_index_lookup_extra(ibox->view, mail->mail.seq,
- ibox->mbox_extra_idx, &data) < 0) {
- mail_storage_set_index_error(ibox);
+ ret = mail_index_lookup_extra(ibox->view, mail->mail.seq,
+ ibox->mbox_extra_idx, &data);
+ if (ret <= 0) {
+ if (ret < 0)
+ mail_storage_set_index_error(ibox);
return -1;
}
if (offset == mail->from_offset)
return 0;
- } else {
- offset = mail->from_offset;
}
+ offset = mail->from_offset;
mail_index_update_extra_rec(sync_ctx->t, sync_ctx->idx_seq,
sync_ctx->ibox->mbox_extra_idx, &offset);
return 0;