dovecot-2.1: iampc: Small code cleanup.

dovecot at dovecot.org dovecot at dovecot.org
Thu Sep 22 14:24:16 EEST 2011


details:   http://hg.dovecot.org/dovecot-2.1/rev/645a56f9d8ee
changeset: 13541:645a56f9d8ee
user:      Timo Sirainen <tss at iki.fi>
date:      Thu Sep 22 14:21:56 2011 +0300
description:
iampc: Small code cleanup.

diffstat:

 src/lib-storage/index/imapc/imapc-mailbox.c |   2 +-
 src/lib-storage/index/imapc/imapc-storage.c |  37 +++++++++++++++++-----------
 src/lib-storage/index/imapc/imapc-storage.h |   2 +-
 3 files changed, 24 insertions(+), 17 deletions(-)

diffs (88 lines):

diff -r 00b6848a5a63 -r 645a56f9d8ee src/lib-storage/index/imapc/imapc-mailbox.c
--- a/src/lib-storage/index/imapc/imapc-mailbox.c	Thu Sep 22 13:09:18 2011 +0300
+++ b/src/lib-storage/index/imapc/imapc-mailbox.c	Thu Sep 22 14:21:56 2011 +0300
@@ -116,7 +116,7 @@
 	if (view == NULL)
 		view = imapc_mailbox_get_sync_view(mbox);
 
-	if (mbox->opening) {
+	if (mbox->selecting) {
 		/* We don't know the latest flags, refresh them. */
 		mbox->sync_fetch_first_uid = 1;
 	} else if (mbox->sync_fetch_first_uid != 1) {
diff -r 00b6848a5a63 -r 645a56f9d8ee src/lib-storage/index/imapc/imapc-storage.c
--- a/src/lib-storage/index/imapc/imapc-storage.c	Thu Sep 22 13:09:18 2011 +0300
+++ b/src/lib-storage/index/imapc/imapc-storage.c	Thu Sep 22 14:21:56 2011 +0300
@@ -382,11 +382,30 @@
 	imapc_client_stop(ctx->mbox->storage->client);
 }
 
+static int imapc_mailbox_select(struct imapc_mailbox *mbox)
+{
+	struct imapc_open_context ctx;
+	bool examine;
+
+	examine = (mbox->box.flags & MAILBOX_FLAG_READONLY) != 0 &&
+		(mbox->box.flags & MAILBOX_FLAG_DROP_RECENT) == 0;
+
+	mbox->selecting = TRUE;
+	ctx.mbox = mbox;
+	ctx.ret = -2;
+	mbox->client_box =
+		imapc_client_mailbox_open(mbox->storage->client, mbox->box.name,
+					  examine, imapc_mailbox_open_callback,
+					  &ctx, mbox);
+	while (ctx.ret == -2)
+		imapc_storage_run(mbox->storage);
+	mbox->selecting = FALSE;
+	return ctx.ret;
+}
+
 static int imapc_mailbox_open(struct mailbox *box)
 {
 	struct imapc_mailbox *mbox = (struct imapc_mailbox *)box;
-	struct imapc_open_context ctx;
-	bool examine;
 
 	if (index_storage_mailbox_open(box, FALSE) < 0)
 		return -1;
@@ -395,8 +414,6 @@
 		/* We don't actually want to SELECT the mailbox. */
 		return 0;
 	}
-	examine = (box->flags & MAILBOX_FLAG_READONLY) != 0 &&
-		(box->flags & MAILBOX_FLAG_DROP_RECENT) == 0;
 
 	if (*box->name == '\0' &&
 	    (box->list->ns->flags & NAMESPACE_FLAG_INBOX_ANY) != 0) {
@@ -408,17 +425,7 @@
 		return -1;
 	}
 
-	mbox->opening = TRUE;
-	ctx.mbox = mbox;
-	ctx.ret = -2;
-	mbox->client_box =
-		imapc_client_mailbox_open(mbox->storage->client, box->name,
-					  examine, imapc_mailbox_open_callback,
-					  &ctx, mbox);
-	while (ctx.ret == -2)
-		imapc_storage_run(mbox->storage);
-	mbox->opening = FALSE;
-	if (ctx.ret < 0) {
+	if (imapc_mailbox_select(mbox) < 0) {
 		mailbox_close(box);
 		return -1;
 	}
diff -r 00b6848a5a63 -r 645a56f9d8ee src/lib-storage/index/imapc/imapc-storage.h
--- a/src/lib-storage/index/imapc/imapc-storage.h	Thu Sep 22 13:09:18 2011 +0300
+++ b/src/lib-storage/index/imapc/imapc-storage.h	Thu Sep 22 14:21:56 2011 +0300
@@ -68,7 +68,7 @@
 
 	uint32_t prev_skipped_rseq, prev_skipped_uid;
 
-	unsigned int opening:1;
+	unsigned int selecting:1;
 	unsigned int syncing:1;
 	unsigned int initial_sync_done:1;
 };


More information about the dovecot-cvs mailing list