[dovecot-cvs] dovecot/src/lib-storage mail-copy.c, 1.4, 1.5 mail-copy.h, 1.2, 1.3 mail-storage-private.h, 1.18, 1.19 mail-storage.c, 1.43, 1.44 mail-storage.h, 1.99, 1.100

cras at dovecot.org cras at dovecot.org
Fri Oct 7 12:34:12 EEST 2005


Update of /var/lib/cvs/dovecot/src/lib-storage
In directory talvi:/tmp/cvs-serv4310/lib-storage

Modified Files:
	mail-copy.c mail-copy.h mail-storage-private.h mail-storage.c 
	mail-storage.h 
Log Message:
Added flags and keywords parameters to mailbox_copy() in case they're wanted
to be changed while copying.



Index: mail-copy.c
===================================================================
RCS file: /var/lib/cvs/dovecot/src/lib-storage/mail-copy.c,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -d -r1.4 -r1.5
--- mail-copy.c	15 Mar 2005 19:01:51 -0000	1.4
+++ mail-copy.c	7 Oct 2005 09:34:08 -0000	1.5
@@ -6,12 +6,12 @@
 #include "mail-copy.h"
 
 int mail_storage_copy(struct mailbox_transaction_context *t, struct mail *mail,
+		      enum mail_flags flags, struct mail_keywords *keywords,
 		      struct mail *dest_mail)
 {
 	struct mail_save_context *ctx;
 	struct istream *input;
-	struct mail_keywords *keywords;
-	const char *from_envelope, *const *keywords_list;
+	const char *from_envelope;
 
 	input = mail_get_stream(mail, NULL, NULL);
 	if (input == NULL)
@@ -19,14 +19,9 @@
 
 	from_envelope = mail_get_special(mail, MAIL_FETCH_FROM_ENVELOPE);
 
-	keywords_list = mail_get_keywords(mail);
-	keywords = keywords_list == NULL ? NULL :
-		mailbox_keywords_create(t, keywords_list);
-	ctx = mailbox_save_init(t, mail_get_flags(mail), keywords,
+	ctx = mailbox_save_init(t, flags, keywords,
 				mail_get_received_date(mail),
 				0, from_envelope, input, dest_mail != NULL);
-	if (keywords != NULL)
-		mailbox_keywords_free(t, keywords);
 
 	while (i_stream_read(input) != -1) {
 		if (mailbox_save_continue(ctx) < 0)

Index: mail-copy.h
===================================================================
RCS file: /var/lib/cvs/dovecot/src/lib-storage/mail-copy.h,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -d -r1.2 -r1.3
--- mail-copy.h	15 Mar 2005 19:01:51 -0000	1.2
+++ mail-copy.h	7 Oct 2005 09:34:08 -0000	1.3
@@ -2,6 +2,7 @@
 #define __MAIL_COPY_H
 
 int mail_storage_copy(struct mailbox_transaction_context *t, struct mail *mail,
+		      enum mail_flags flags, struct mail_keywords *keywords,
 		      struct mail *dest_mail);
 
 #endif

Index: mail-storage-private.h
===================================================================
RCS file: /var/lib/cvs/dovecot/src/lib-storage/mail-storage-private.h,v
retrieving revision 1.18
retrieving revision 1.19
diff -u -d -r1.18 -r1.19
--- mail-storage-private.h	29 Jul 2005 08:43:04 -0000	1.18
+++ mail-storage-private.h	7 Oct 2005 09:34:08 -0000	1.19
@@ -143,6 +143,7 @@
 	void (*save_cancel)(struct mail_save_context *ctx);
 
 	int (*copy)(struct mailbox_transaction_context *t, struct mail *mail,
+		    enum mail_flags flags, struct mail_keywords *keywords,
 		    struct mail *dest_mail);
 
 	int (*is_inconsistent)(struct mailbox *box);

Index: mail-storage.c
===================================================================
RCS file: /var/lib/cvs/dovecot/src/lib-storage/mail-storage.c,v
retrieving revision 1.43
retrieving revision 1.44
diff -u -d -r1.43 -r1.44
--- mail-storage.c	19 Aug 2005 08:43:20 -0000	1.43
+++ mail-storage.c	7 Oct 2005 09:34:08 -0000	1.44
@@ -454,9 +454,10 @@
 }
 
 int mailbox_copy(struct mailbox_transaction_context *t, struct mail *mail,
+		 enum mail_flags flags, struct mail_keywords *keywords,
 		 struct mail *dest_mail)
 {
-	return t->box->v.copy(t, mail, dest_mail);
+	return t->box->v.copy(t, mail, flags, keywords, dest_mail);
 }
 
 int mailbox_is_inconsistent(struct mailbox *box)

Index: mail-storage.h
===================================================================
RCS file: /var/lib/cvs/dovecot/src/lib-storage/mail-storage.h,v
retrieving revision 1.99
retrieving revision 1.100
diff -u -d -r1.99 -r1.100
--- mail-storage.h	30 Sep 2005 18:55:00 -0000	1.99
+++ mail-storage.h	7 Oct 2005 09:34:08 -0000	1.100
@@ -395,6 +395,7 @@
    accessed using it. Note that setting it non-NULL may require mailbox
    syncing, so don't give give it unless you need it. */
 int mailbox_copy(struct mailbox_transaction_context *t, struct mail *mail,
+		 enum mail_flags flags, struct mail_keywords *keywords,
 		 struct mail *dest_mail);
 
 /* Returns TRUE if mailbox is now in inconsistent state, meaning that



More information about the dovecot-cvs mailing list