dovecot: Reverted last change and now the real compile fix..

dovecot at dovecot.org dovecot at dovecot.org
Sun Aug 12 16:33:51 EEST 2007


details:   http://hg.dovecot.org/dovecot/rev/df5c0e75c815
changeset: 6273:df5c0e75c815
user:      Timo Sirainen <tss at iki.fi>
date:      Sun Aug 12 16:33:38 2007 +0300
description:
Reverted last change and now the real compile fix..

diffstat:

1 file changed, 21 insertions(+), 10 deletions(-)
src/plugins/fts/fts-storage.c |   31 +++++++++++++++++++++----------

diffs (86 lines):

diff -r cff0c129b3da -r df5c0e75c815 src/plugins/fts/fts-storage.c
--- a/src/plugins/fts/fts-storage.c	Sun Aug 12 16:32:18 2007 +0300
+++ b/src/plugins/fts/fts-storage.c	Sun Aug 12 16:33:38 2007 +0300
@@ -84,9 +84,9 @@ static int fts_mailbox_close(struct mail
 	return ret;
 }
 
-static void uid_range_to_seq(struct mailbox *box,
-			     ARRAY_TYPE(seq_range) *uid_range,
-			     ARRAY_TYPE(seq_range) *seq_range)
+static int uid_range_to_seq(struct mailbox *box,
+			    ARRAY_TYPE(seq_range) *uid_range,
+			    ARRAY_TYPE(seq_range) *seq_range)
 {
 	const struct seq_range *range;
 	struct seq_range new_range;
@@ -95,11 +95,16 @@ static void uid_range_to_seq(struct mail
 	range = array_get(uid_range, &count);
 	i_array_init(seq_range, count);
 	for (i = 0; i < count; i++) {
-		mailbox_get_uids(box, range[i].seq1, range[i].seq2,
-				 &new_range.seq1, &new_range.seq2);
+		if (mailbox_get_uids(box, range[i].seq1, range[i].seq2,
+				     &new_range.seq1, &new_range.seq2) < 0) {
+			array_free(seq_range);
+			return -1;
+		}
+
 		if (new_range.seq1 != 0)
 			array_append(seq_range, &new_range, 1);
 	}
+	return 0;
 }
 
 static int fts_build_mail_flush(struct fts_storage_build_context *ctx)
@@ -241,8 +246,9 @@ static int fts_build_init(struct fts_sea
 	}
 
 	memset(&seqset, 0, sizeof(seqset));
-	mailbox_get_uids(t->box, last_uid+1, (uint32_t)-1,
-			 &seqset.seq1, &seqset.seq2);
+	if (mailbox_get_uids(t->box, last_uid+1, (uint32_t)-1,
+			     &seqset.seq1, &seqset.seq2) < 0)
+		return -1;
 	if (seqset.seq1 == 0) {
 		/* no new messages */
 		return 0;
@@ -254,8 +260,11 @@ static int fts_build_init(struct fts_sea
 		i_assert(last_uid < last_uid_locked);
 
 		last_uid = last_uid_locked;
-		mailbox_get_uids(t->box, last_uid+1, (uint32_t)-1,
-				 &seqset.seq1, &seqset.seq2);
+		if (mailbox_get_uids(t->box, last_uid+1, (uint32_t)-1,
+				     &seqset.seq1, &seqset.seq2) < 0) {
+			(void)fts_backend_build_deinit(build);
+			return -1;
+		}
 		if (seqset.seq1 == 0) {
 			/* no new messages */
 			(void)fts_backend_build_deinit(build);
@@ -458,7 +467,7 @@ static void fts_search_init(struct mailb
 
 	fts_search_filter_args(fctx, fctx->args, &uid_result);
 
-	uid_range_to_seq(box, &uid_result, &fctx->result);
+	(void)uid_range_to_seq(box, &uid_result, &fctx->result);
 	array_free(&uid_result);
 }
 
@@ -798,6 +807,7 @@ static void fts_transaction_rollback(str
 
 static int fts_transaction_commit(struct mailbox_transaction_context *t,
 				  enum mailbox_sync_flags flags,
+				  uint32_t *uid_validity_r,
 				  uint32_t *first_saved_uid_r,
 				  uint32_t *last_saved_uid_r)
 {
@@ -807,6 +817,7 @@ static int fts_transaction_commit(struct
 	int ret;
 
 	ret = fbox->module_ctx.super.transaction_commit(t, flags,
+							uid_validity_r,
 							first_saved_uid_r,
 							last_saved_uid_r);
 	fts_transaction_finish(box, ft, ret == 0);


More information about the dovecot-cvs mailing list