From: Timo Sirainen Date: Tue, 22 Jun 2010 20:00:15 +0000 (+0100) Subject: mdbox: Previous change was broken, fixed now properly to make purge fail early. X-Git-Tag: 2.0.rc1~106 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=b5c89a33fa14f3b8b19673c44eeecf1d131d690d;p=thirdparty%2Fdovecot%2Fcore.git mdbox: Previous change was broken, fixed now properly to make purge fail early. --HG-- branch : HEAD --- diff --git a/src/lib-storage/index/dbox-multi/mdbox-purge.c b/src/lib-storage/index/dbox-multi/mdbox-purge.c index f4d494a959..5853163716 100644 --- a/src/lib-storage/index/dbox-multi/mdbox-purge.c +++ b/src/lib-storage/index/dbox-multi/mdbox-purge.c @@ -521,10 +521,11 @@ int mdbox_purge(struct mail_storage *_storage) } seq_range_array_iter_init(&iter, &ctx->purge_file_ids); i = 0; - while (seq_range_array_iter_nth(&iter, i++, &file_id)) T_BEGIN { + while (ret == 0 && + seq_range_array_iter_nth(&iter, i++, &file_id)) T_BEGIN { file = mdbox_file_init(storage, file_id); if (dbox_file_open(file, &deleted) > 0 && !deleted) { - if (mdbox_file_purge(ctx, file) <= 0) + if (mdbox_file_purge(ctx, file) < 0) ret = -1; } else { mdbox_map_remove_file_id(storage->map, file_id);