void mdbox_map_atomic_set_failed(struct mdbox_map_atomic_context *atomic)
{
atomic->success = FALSE;
+ atomic->failed = TRUE;
}
void mdbox_map_atomic_set_success(struct mdbox_map_atomic_context *atomic)
{
- atomic->success = TRUE;
+ if (!atomic->failed)
+ atomic->success = TRUE;
}
int mdbox_map_atomic_finish(struct mdbox_map_atomic_context **_atomic)
mail_index_reset_error(ctx->atomic->map->index);
return -1;
}
- ctx->atomic->success = TRUE;
+ mdbox_map_atomic_set_success(ctx->atomic);
return 0;
}
if (dbox_file_append_commit(&file_appends[i]) < 0)
return -1;
}
- ctx->atomic->success = TRUE;
+ mdbox_map_atomic_set_success(ctx->atomic);
return 0;
}