[dovecot-cvs] dovecot/src/lib-storage/index/maildir maildir-copy.c,
1.39, 1.40 maildir-storage.h, 1.41, 1.42
cras at dovecot.org
cras at dovecot.org
Fri Oct 7 12:34:14 EEST 2005
- Previous message: [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
- Next message: [dovecot-cvs] dovecot-lda/src common.h, 1.2, 1.3 deliver.c, 1.27,
1.28 sieve-cmu.c, 1.9, 1.10
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
Update of /var/lib/cvs/dovecot/src/lib-storage/index/maildir
In directory talvi:/tmp/cvs-serv4310/lib-storage/index/maildir
Modified Files:
maildir-copy.c maildir-storage.h
Log Message:
Added flags and keywords parameters to mailbox_copy() in case they're wanted
to be changed while copying.
Index: maildir-copy.c
===================================================================
RCS file: /var/lib/cvs/dovecot/src/lib-storage/index/maildir/maildir-copy.c,v
retrieving revision 1.39
retrieving revision 1.40
diff -u -d -r1.39 -r1.40
--- maildir-copy.c 18 Aug 2005 17:00:46 -0000 1.39
+++ maildir-copy.c 7 Oct 2005 09:34:12 -0000 1.40
@@ -55,31 +55,28 @@
return 1;
}
-static int maildir_copy_hardlink(struct mail *mail,
- struct maildir_copy_context *ctx)
+static int
+maildir_copy_hardlink(struct mail *mail,
+ enum mail_flags flags, struct mail_keywords *keywords,
+ struct maildir_copy_context *ctx)
{
struct index_mail *imail = (struct index_mail *)mail;
struct maildir_mailbox *mbox = (struct maildir_mailbox *)imail->ibox;
struct hardlink_ctx do_ctx;
struct rollback *rb;
- enum mail_flags flags;
- const char *const *keywords;
const char *dest_fname;
- array_t ARRAY_DEFINE(keywords_arr, const char *);
- unsigned int count;
+ array_t ARRAY_DEFINE(keywords_arr, unsigned int);
- flags = mail_get_flags(mail);
- keywords = mail_get_keywords(mail);
dest_fname = maildir_generate_tmp_filename(&ioloop_timeval);
- count = strarray_length(keywords);
- if (count > 0) {
+ if (keywords->count > 0) {
ARRAY_CREATE(&keywords_arr, pool_datastack_create(),
- const char *, count);
- array_append(&keywords_arr, keywords, count);
+ unsigned int, keywords->count);
+ array_append(&keywords_arr, keywords->idx, keywords->count);
}
dest_fname = maildir_filename_set_flags(NULL, // FIXME: !!!
- dest_fname, flags, count != 0 ?
+ dest_fname, flags,
+ keywords->count != 0 ?
&keywords_arr : NULL);
memset(&do_ctx, 0, sizeof(do_ctx));
@@ -137,6 +134,7 @@
}
int maildir_copy(struct mailbox_transaction_context *_t, struct mail *mail,
+ enum mail_flags flags, struct mail_keywords *keywords,
struct mail *dest_mail)
{
struct maildir_transaction_context *t =
@@ -153,7 +151,7 @@
mail->box->storage == STORAGE(ctx->mbox->storage)) {
// FIXME: handle dest_mail
t_push();
- ret = maildir_copy_hardlink(mail, ctx);
+ ret = maildir_copy_hardlink(mail, flags, keywords, ctx);
t_pop();
if (ret > 0)
@@ -164,5 +162,5 @@
/* non-fatal hardlinking failure, try the slow way */
}
- return mail_storage_copy(_t, mail, dest_mail);
+ return mail_storage_copy(_t, mail, flags, keywords, dest_mail);
}
Index: maildir-storage.h
===================================================================
RCS file: /var/lib/cvs/dovecot/src/lib-storage/index/maildir/maildir-storage.h,v
retrieving revision 1.41
retrieving revision 1.42
diff -u -d -r1.41 -r1.42
--- maildir-storage.h 12 Jul 2005 12:45:06 -0000 1.41
+++ maildir-storage.h 7 Oct 2005 09:34:12 -0000 1.42
@@ -126,6 +126,7 @@
void maildir_transaction_save_rollback(struct maildir_save_context *ctx);
int maildir_copy(struct mailbox_transaction_context *t, struct mail *mail,
+ enum mail_flags flags, struct mail_keywords *keywords,
struct mail *dest_mail);
int maildir_transaction_copy_commit(struct maildir_copy_context *ctx);
void maildir_transaction_copy_rollback(struct maildir_copy_context *ctx);
- Previous message: [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
- Next message: [dovecot-cvs] dovecot-lda/src common.h, 1.2, 1.3 deliver.c, 1.27,
1.28 sieve-cmu.c, 1.9, 1.10
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
More information about the dovecot-cvs
mailing list