Mercurial > dovecot > original-hg > dovecot-1.2
view src/lib-storage/mail-copy.c @ 4891:6ab2712f1a93 HEAD
Only imap binary was actually working.
author | Timo Sirainen <tss@iki.fi> |
---|---|
date | Sun, 10 Dec 2006 14:35:02 +0200 |
parents | 7112aad504ae |
children | 69a95671da35 |
line wrap: on
line source
/* Copyright (C) 2004 Timo Sirainen */ #include "lib.h" #include "istream.h" #include "mail-storage.h" #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; const char *from_envelope; input = mail_get_stream(mail, NULL, NULL); if (input == NULL) return -1; from_envelope = mail_get_special(mail, MAIL_FETCH_FROM_ENVELOPE); if (mailbox_save_init(t, flags, keywords, mail_get_received_date(mail), 0, from_envelope, input, dest_mail, &ctx) < 0) return -1; while (i_stream_read(input) != -1) { if (mailbox_save_continue(ctx) < 0) break; } if (input->stream_errno != 0) { mailbox_save_cancel(&ctx); return -1; } return mailbox_save_finish(&ctx); }