[dovecot-cvs] dovecot/src/lib-storage/index/mbox mbox-mail.c, 1.9, 1.10 mbox-save.c, 1.52, 1.53 mbox-transaction.c, 1.3, 1.4

cras at procontrol.fi cras at procontrol.fi
Tue Jun 22 10:36:36 EEST 2004


Update of /home/cvs/dovecot/src/lib-storage/index/mbox
In directory talvi:/tmp/cvs-serv17660/lib-storage/index/mbox

Modified Files:
	mbox-mail.c mbox-save.c mbox-transaction.c 
Log Message:
Added mail_index_transaction_get_updated_view() which can be used to access
uncommitted messages.



Index: mbox-mail.c
===================================================================
RCS file: /home/cvs/dovecot/src/lib-storage/index/mbox/mbox-mail.c,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -d -r1.9 -r1.10
--- mbox-mail.c	20 Jun 2004 06:21:48 -0000	1.9
+++ mbox-mail.c	22 Jun 2004 07:36:33 -0000	1.10
@@ -31,7 +31,7 @@
 	if (mbox_file_open_stream(ibox) < 0)
 		return -1;
 
-	ret = mail_index_lookup_extra(ibox->view, mail->mail.seq,
+	ret = mail_index_lookup_extra(mail->trans->trans_view, mail->mail.seq,
 				      ibox->mbox_extra_idx, &data);
 	if (ret <= 0) {
 		if (ret < 0)

Index: mbox-save.c
===================================================================
RCS file: /home/cvs/dovecot/src/lib-storage/index/mbox/mbox-save.c,v
retrieving revision 1.52
retrieving revision 1.53
diff -u -d -r1.52 -r1.53
--- mbox-save.c	21 Jun 2004 14:44:47 -0000	1.52
+++ mbox-save.c	22 Jun 2004 07:36:33 -0000	1.53
@@ -179,7 +179,7 @@
 	struct mbox_save_context *ctx = t->save_ctx;
 	const struct mail_index_header *hdr;
 
-	if (mail_index_get_header(ctx->ibox->view, &hdr) < 0) {
+	if (mail_index_get_header(t->ictx.trans_view, &hdr) < 0) {
 		mail_storage_set_index_error(ctx->ibox);
 		return -1;
 	}
@@ -345,7 +345,7 @@
 	if (mail_r != NULL) {
 		const struct mail_index_record *rec;
 
-		if (mail_index_transaction_lookup(ctx->trans, seq, &rec) < 0)
+		if (mail_index_lookup(t->ictx.trans_view, seq, &rec) < 0)
 			return -1;
 		if (index_mail_next(&ctx->mail, rec, seq, FALSE) <= 0)
 			return -1;

Index: mbox-transaction.c
===================================================================
RCS file: /home/cvs/dovecot/src/lib-storage/index/mbox/mbox-transaction.c,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -d -r1.3 -r1.4
--- mbox-transaction.c	20 Jun 2004 03:25:34 -0000	1.3
+++ mbox-transaction.c	22 Jun 2004 07:36:33 -0000	1.4
@@ -12,9 +12,7 @@
 	struct mbox_transaction_context *t;
 
 	t = i_new(struct mbox_transaction_context, 1);
-	t->ictx.mailbox_ctx.box = box;
-	t->ictx.ibox = ibox;
-	t->ictx.trans = mail_index_transaction_begin(ibox->view, hide);
+        index_transaction_init(&t->ictx, ibox, hide);
 	return &t->ictx.mailbox_ctx;
 }
 
@@ -24,10 +22,11 @@
 		(struct mbox_transaction_context *)_t;
 	struct index_mailbox *ibox = t->ictx.ibox;
 	unsigned int lock_id = t->mbox_lock_id;
-	int ret = 0;
+	int mbox_modified, ret = 0;
 
 	if (t->save_ctx != NULL)
 		ret = mbox_save_commit(t->save_ctx);
+	mbox_modified = t->mbox_modified;
 
 	if (ret == 0) {
 		if (index_transaction_commit(_t) < 0)
@@ -35,9 +34,10 @@
 	} else {
 		index_transaction_rollback(_t);
 	}
+	t = NULL;
 
 	if (ret == 0) {
-		if (mbox_sync(ibox, TRUE, t->mbox_modified, FALSE) < 0)
+		if (mbox_sync(ibox, TRUE, mbox_modified, FALSE) < 0)
 			ret = -1;
 	}
 



More information about the dovecot-cvs mailing list