From: Timo Sirainen Date: Wed, 29 Oct 2003 13:37:33 +0000 (+0200) Subject: Fixes to make copying mail inside same mbox working. X-Git-Tag: 1.1.alpha1~4258 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=028dc92d113b4f3009db45cc76fb6cf04d351654;p=thirdparty%2Fdovecot%2Fcore.git Fixes to make copying mail inside same mbox working. --HG-- branch : HEAD --- diff --git a/src/lib-index/mbox/istream-mbox.c b/src/lib-index/mbox/istream-mbox.c index c4ef0adee2..a99a03db98 100644 --- a/src/lib-index/mbox/istream-mbox.c +++ b/src/lib-index/mbox/istream-mbox.c @@ -80,7 +80,7 @@ static ssize_t _read(struct _istream *stream) if (limit != old_limit) i_stream_set_read_limit(mstream->input, old_limit); - return ret; + return mstream->istream.pos == 0 ? -1 : (ssize_t)mstream->istream.pos; } static void _seek(struct _istream *stream, uoff_t v_offset) diff --git a/src/lib-index/mbox/mbox-index.c b/src/lib-index/mbox/mbox-index.c index d2c80398f5..d2d6541450 100644 --- a/src/lib-index/mbox/mbox-index.c +++ b/src/lib-index/mbox/mbox-index.c @@ -85,11 +85,6 @@ struct istream *mbox_get_stream(struct mail_index *index, uoff_t offset, MAIL_MMAP_BLOCK_SIZE, 0, 0, FALSE); } else { - if (lseek(index->mbox_fd, 0, SEEK_SET) < 0) { - mbox_set_syscall_error(index, "lseek()"); - return NULL; - } - index->mbox_stream = i_stream_create_file(index->mbox_fd, default_pool, diff --git a/src/lib-storage/mail-save.c b/src/lib-storage/mail-save.c index c685b97750..27b1d905a0 100644 --- a/src/lib-storage/mail-save.c +++ b/src/lib-storage/mail-save.c @@ -167,6 +167,7 @@ int mail_storage_save(struct mail_storage *storage, const char *path, errno = input->stream_errno; if (errno == 0) { /* EOF */ + i_warning("%lld vs %lld\n", input->v_offset, input->v_limit); if (input->v_offset != input->v_limit && input->v_limit != 0) { /* too early */