dovecot-2.0: QRESYNC: Minor code cleanup by renaming variables t...

dovecot at dovecot.org dovecot at dovecot.org
Sat Oct 10 03:35:50 EEST 2009


details:   http://hg.dovecot.org/dovecot-2.0/rev/6e109ea7b506
changeset: 10028:6e109ea7b506
user:      Timo Sirainen <tss at iki.fi>
date:      Fri Oct 09 20:35:37 2009 -0400
description:
QRESYNC: Minor code cleanup by renaming variables to be more understandable.

diffstat:

1 file changed, 44 insertions(+), 40 deletions(-)
src/imap/imap-fetch.c |   84 +++++++++++++++++++++++++------------------------

diffs (178 lines):

diff -r 940d11bc5039 -r 6e109ea7b506 src/imap/imap-fetch.c
--- a/src/imap/imap-fetch.c	Fri Oct 09 19:51:20 2009 -0400
+++ b/src/imap/imap-fetch.c	Fri Oct 09 20:35:37 2009 -0400
@@ -148,7 +148,7 @@ void imap_fetch_add_handler(struct imap_
 
 static void
 expunges_drop_known(struct imap_fetch_context *ctx, struct mail *mail,
-		    ARRAY_TYPE(seq_range) *expunges)
+		    ARRAY_TYPE(seq_range) *expunged_uids)
 {
 	const uint32_t *seqs, *uids;
 	unsigned int i, count;
@@ -165,34 +165,34 @@ expunges_drop_known(struct imap_fetch_co
 			break;
 	}
 	if (i > 0)
-		seq_range_array_remove_range(expunges, 1, uids[i-1]);
+		seq_range_array_remove_range(expunged_uids, 1, uids[i-1]);
 }
 
 static int get_expunges_fallback(struct imap_fetch_context *ctx,
-				 const ARRAY_TYPE(seq_range) *uids,
-				 ARRAY_TYPE(seq_range) *expunges)
+				 const ARRAY_TYPE(seq_range) *uid_filter_arr,
+				 ARRAY_TYPE(seq_range) *expunged_uids)
 {
 	struct mailbox_transaction_context *trans;
 	struct mail_search_args *search_args;
 	struct mail_search_context *search_ctx;
 	struct mail *mail;
-	const struct seq_range *uid_range;
+	const struct seq_range *uid_filter;
 	struct mailbox_status status;
 	unsigned int i, count;
 	uint32_t next_uid;
 	int ret = 0;
 
-	uid_range = array_get(uids, &count);
+	uid_filter = array_get(uid_filter_arr, &count);
 	i_assert(count > 0);
 	i = 0;
-	next_uid = uid_range[0].seq1;
-
-	/* search UIDs in given range */
+	next_uid = uid_filter[0].seq1;
+
+	/* search UIDs only in given range */
 	search_args = mail_search_build_init();
 	search_args->args = p_new(search_args->pool, struct mail_search_arg, 1);
 	search_args->args->type = SEARCH_UIDSET;
-	i_array_init(&search_args->args->value.seqset, array_count(uids));
-	array_append_array(&search_args->args->value.seqset, uids);
+	i_array_init(&search_args->args->value.seqset, count);
+	array_append_array(&search_args->args->value.seqset, uid_filter_arr);
 
 	trans = mailbox_transaction_begin(ctx->box, 0);
 	mail = mail_alloc(trans, 0, NULL);
@@ -201,52 +201,55 @@ static int get_expunges_fallback(struct 
 
 	while (mailbox_search_next(search_ctx, mail) > 0) {
 		if (mail->uid == next_uid) {
-			if (next_uid < uid_range[i].seq2)
+			if (next_uid < uid_filter[i].seq2)
 				next_uid++;
 			else if (++i < count)
-				next_uid = uid_range[++i].seq1;
+				next_uid = uid_filter[++i].seq1;
 			else
 				break;
 		} else {
 			/* next_uid .. mail->uid-1 are expunged */
 			i_assert(mail->uid > next_uid);
-			while (mail->uid > uid_range[i].seq2) {
-				seq_range_array_add_range(expunges, next_uid,
-							  uid_range[i].seq2);
+			while (mail->uid > uid_filter[i].seq2) {
+				seq_range_array_add_range(expunged_uids,
+							  next_uid,
+							  uid_filter[i].seq2);
 				i++;
 				i_assert(i < count);
-				next_uid = uid_range[i].seq1;
+				next_uid = uid_filter[i].seq1;
 			}
 			if (next_uid != mail->uid) {
-				seq_range_array_add_range(expunges, next_uid,
+				seq_range_array_add_range(expunged_uids,
+							  next_uid,
 							  mail->uid - 1);
 			}
-			if (uid_range[i].seq2 == mail->uid)
-				next_uid = uid_range[++i].seq1;
+			if (uid_filter[i].seq2 == mail->uid)
+				next_uid = uid_filter[++i].seq1;
 			else
 				next_uid = mail->uid + 1;
 		}
 	}
 	if (i < count) {
-		i_assert(next_uid <= uid_range[i].seq2);
-		seq_range_array_add_range(expunges, next_uid,
-					  uid_range[i].seq2);
+		i_assert(next_uid <= uid_filter[i].seq2);
+		seq_range_array_add_range(expunged_uids, next_uid,
+					  uid_filter[i].seq2);
 		i++;
 	}
 	for (; i < count; i++) {
-		seq_range_array_add_range(expunges, uid_range[i].seq1,
-					  uid_range[i].seq2);
+		seq_range_array_add_range(expunged_uids, uid_filter[i].seq1,
+					  uid_filter[i].seq2);
 	}
 
 	mailbox_get_status(ctx->box, STATUS_UIDNEXT, &status);
-	seq_range_array_remove_range(expunges, status.uidnext, (uint32_t)-1);
+	seq_range_array_remove_range(expunged_uids, status.uidnext,
+				     (uint32_t)-1);
 
 	if (mailbox_search_deinit(&search_ctx) < 0)
 		ret = -1;
 
 	if (ret == 0 && ctx->qresync_sample_seqset != NULL &&
 	    array_is_created(ctx->qresync_sample_seqset))
-		expunges_drop_known(ctx, mail, expunges);
+		expunges_drop_known(ctx, mail, expunged_uids);
 
 	mail_free(&mail);
 	(void)mailbox_transaction_commit(&trans);
@@ -268,34 +271,35 @@ imap_fetch_send_vanished(struct imap_fet
 {
 	const struct mail_search_arg *uidarg = ctx->search_args->args;
 	const struct mail_search_arg *modseqarg = uidarg->next;
-	const ARRAY_TYPE(seq_range) *uids = &uidarg->value.seqset;
+	const ARRAY_TYPE(seq_range) *uid_filter = &uidarg->value.seqset;
 	uint64_t modseq = modseqarg->value.modseq->modseq - 1;
-	ARRAY_TYPE(mailbox_expunge_rec) expunges;
-	ARRAY_TYPE(seq_range) expunges_range;
+	ARRAY_TYPE(mailbox_expunge_rec) expunged_uids;
+	ARRAY_TYPE(seq_range) expunged_uids_range;
 	string_t *str;
 	int ret = 0;
 
-	i_array_init(&expunges, array_count(uids));
-	i_array_init(&expunges_range, array_count(uids));
-	if (mailbox_get_expunges(ctx->box, modseq, uids, &expunges))
-		mailbox_expunge_to_range(&expunges, &expunges_range);
+	i_array_init(&expunged_uids, array_count(uid_filter));
+	i_array_init(&expunged_uids_range, array_count(uid_filter));
+	if (mailbox_get_expunges(ctx->box, modseq, uid_filter, &expunged_uids))
+		mailbox_expunge_to_range(&expunged_uids, &expunged_uids_range);
 	else {
 		/* return all expunged UIDs */
-		if (get_expunges_fallback(ctx, uids, &expunges_range) < 0) {
-			array_clear(&expunges_range);
+		if (get_expunges_fallback(ctx, uid_filter,
+					  &expunged_uids_range) < 0) {
+			array_clear(&expunged_uids_range);
 			ret = -1;
 		}
 	}
-	if (array_count(&expunges_range) > 0) {
+	if (array_count(&expunged_uids_range) > 0) {
 		str = str_new(default_pool, 128);
 		str_append(str, "* VANISHED (EARLIER) ");
-		imap_write_seq_range(str, &expunges_range);
+		imap_write_seq_range(str, &expunged_uids_range);
 		str_append(str, "\r\n");
 		o_stream_send(ctx->client->output, str_data(str), str_len(str));
 		str_free(&str);
 	}
-	array_free(&expunges);
-	array_free(&expunges_range);
+	array_free(&expunged_uids);
+	array_free(&expunged_uids_range);
 	return ret;
 }
 


More information about the dovecot-cvs mailing list