dovecot: Removed v_start_offset parameter from i_stream_create_l...
dovecot at dovecot.org
dovecot at dovecot.org
Sat Dec 22 05:59:02 EET 2007
details: http://hg.dovecot.org/dovecot/rev/4b51ee73ed51
changeset: 7031:4b51ee73ed51
user: Timo Sirainen <tss at iki.fi>
date: Sat Dec 22 05:04:46 2007 +0200
description:
Removed v_start_offset parameter from i_stream_create_limit(). We'll always
use input->v_offset now.
diffstat:
9 files changed, 13 insertions(+), 27 deletions(-)
src/deliver/deliver.c | 3 +--
src/imap/cmd-append.c | 8 ++------
src/imap/imap-fetch-body.c | 4 +---
src/lib-storage/index/dbox/dbox-file.c | 1 -
src/lib-storage/index/dbox/dbox-sync-file.c | 3 ++-
src/lib-storage/index/mbox/mbox-mail.c | 4 ++--
src/lib-storage/index/mbox/mbox-sync-rewrite.c | 2 +-
src/lib/istream-limit.c | 12 +++---------
src/lib/istream.h | 3 +--
diffs (150 lines):
diff -r 1a89a1509e81 -r 4b51ee73ed51 src/deliver/deliver.c
--- a/src/deliver/deliver.c Sat Dec 22 04:48:33 2007 +0200
+++ b/src/deliver/deliver.c Sat Dec 22 05:04:46 2007 +0200
@@ -559,8 +559,7 @@ static struct istream *create_raw_stream
input2 = input;
i_stream_ref(input2);
} else {
- input2 = i_stream_create_limit(input, input->v_offset,
- (uoff_t)-1);
+ input2 = i_stream_create_limit(input, (uoff_t)-1);
}
i_stream_unref(&input);
diff -r 1a89a1509e81 -r 4b51ee73ed51 src/imap/cmd-append.c
--- a/src/imap/cmd-append.c Sat Dec 22 04:48:33 2007 +0200
+++ b/src/imap/cmd-append.c Sat Dec 22 05:04:46 2007 +0200
@@ -191,9 +191,7 @@ static bool cmd_append_cancel(struct cmd
/* we have to read the nonsynced literal so we don't treat the message
data as commands. */
- ctx->input = i_stream_create_limit(ctx->client->input,
- ctx->client->input->v_offset,
- ctx->msg_size);
+ ctx->input = i_stream_create_limit(ctx->client->input, ctx->msg_size);
ctx->message_input = TRUE;
ctx->cmd->func = cmd_append_continue_cancel;
@@ -330,9 +328,7 @@ static bool cmd_append_continue_parsing(
}
/* save the mail */
- ctx->input = i_stream_create_limit(client->input,
- client->input->v_offset,
- ctx->msg_size);
+ ctx->input = i_stream_create_limit(client->input, ctx->msg_size);
ret = mailbox_save_init(ctx->t, flags, keywords,
internal_date, timezone_offset, NULL,
ctx->input, FALSE, &ctx->save_ctx);
diff -r 1a89a1509e81 -r 4b51ee73ed51 src/imap/imap-fetch-body.c
--- a/src/imap/imap-fetch-body.c Sat Dec 22 04:48:33 2007 +0200
+++ b/src/imap/imap-fetch-body.c Sat Dec 22 05:04:46 2007 +0200
@@ -280,9 +280,7 @@ static int fetch_stream(struct imap_fetc
if (size->physical_size == size->virtual_size &&
ctx->cur_mail->has_no_nuls) {
/* no need to kludge with CRs, we can use sendfile() */
- input = i_stream_create_limit(ctx->cur_input,
- ctx->cur_input->v_offset,
- ctx->cur_size);
+ input = i_stream_create_limit(ctx->cur_input, ctx->cur_size);
i_stream_unref(&ctx->cur_input);
ctx->cur_input = input;
diff -r 1a89a1509e81 -r 4b51ee73ed51 src/lib-storage/index/dbox/dbox-file.c
--- a/src/lib-storage/index/dbox/dbox-file.c Sat Dec 22 04:48:33 2007 +0200
+++ b/src/lib-storage/index/dbox/dbox-file.c Sat Dec 22 05:04:46 2007 +0200
@@ -627,7 +627,6 @@ int dbox_file_get_mail_stream(struct dbo
if (stream_r != NULL) {
i_stream_seek(file->input, offset + file->msg_header_size);
*stream_r = i_stream_create_limit(file->input,
- file->input->v_offset,
file->cur_physical_size);
}
*uid_r = file->cur_uid;
diff -r 1a89a1509e81 -r 4b51ee73ed51 src/lib-storage/index/dbox/dbox-sync-file.c
--- a/src/lib-storage/index/dbox/dbox-sync-file.c Sat Dec 22 04:48:33 2007 +0200
+++ b/src/lib-storage/index/dbox/dbox-sync-file.c Sat Dec 22 05:04:46 2007 +0200
@@ -140,7 +140,8 @@ dbox_sync_file_expunge(struct dbox_sync_
break;
}
- input = i_stream_create_limit(file->input, offset,
+ i_stream_seek(file->input, offset);
+ input = i_stream_create_limit(file->input,
file->msg_header_size +
physical_size);
ret = o_stream_send_istream(output, input) < 0 ? -1 : 0;
diff -r 1a89a1509e81 -r 4b51ee73ed51 src/lib-storage/index/mbox/mbox-mail.c
--- a/src/lib-storage/index/mbox/mbox-mail.c Sat Dec 22 04:48:33 2007 +0200
+++ b/src/lib-storage/index/mbox/mbox-mail.c Sat Dec 22 05:04:46 2007 +0200
@@ -235,8 +235,8 @@ static int mbox_mail_get_stream(struct m
raw_stream = mbox->mbox_stream;
offset = istream_raw_mbox_get_header_offset(raw_stream);
- raw_stream = i_stream_create_limit(raw_stream,
- offset, (uoff_t)-1);
+ i_stream_seek(raw_stream, offset);
+ raw_stream = i_stream_create_limit(raw_stream, (uoff_t)-1);
data->stream =
i_stream_create_header_filter(raw_stream,
HEADER_FILTER_EXCLUDE | HEADER_FILTER_NO_CR,
diff -r 1a89a1509e81 -r 4b51ee73ed51 src/lib-storage/index/mbox/mbox-sync-rewrite.c
--- a/src/lib-storage/index/mbox/mbox-sync-rewrite.c Sat Dec 22 04:48:33 2007 +0200
+++ b/src/lib-storage/index/mbox/mbox-sync-rewrite.c Sat Dec 22 05:04:46 2007 +0200
@@ -35,7 +35,7 @@ int mbox_move(struct mbox_sync_context *
return -1;
}
- input = i_stream_create_limit(sync_ctx->file_input, source, size);
+ input = i_stream_create_limit(sync_ctx->file_input, size);
ret = o_stream_send_istream(output, input);
i_stream_unref(&input);
diff -r 1a89a1509e81 -r 4b51ee73ed51 src/lib/istream-limit.c
--- a/src/lib/istream-limit.c Sat Dec 22 04:48:33 2007 +0200
+++ b/src/lib/istream-limit.c Sat Dec 22 05:04:46 2007 +0200
@@ -106,22 +106,16 @@ i_stream_limit_stat(struct istream_priva
return &stream->statbuf;
}
-struct istream *i_stream_create_limit(struct istream *input,
- uoff_t v_start_offset, uoff_t v_size)
+struct istream *i_stream_create_limit(struct istream *input, uoff_t v_size)
{
struct limit_istream *lstream;
i_stream_ref(input);
lstream = i_new(struct limit_istream, 1);
- lstream->v_start_offset = v_start_offset;
+ lstream->v_start_offset = input->v_offset;
lstream->v_size = v_size;
lstream->istream.max_buffer_size = input->real_stream->max_buffer_size;
-
- lstream->istream.istream.v_offset =
- input->v_offset < v_start_offset ? 0 :
- input->v_offset - v_start_offset > v_size ? v_size :
- input->v_offset - v_start_offset;
lstream->istream.iostream.destroy = i_stream_limit_destroy;
lstream->istream.iostream.set_max_buffer_size =
@@ -136,5 +130,5 @@ struct istream *i_stream_create_limit(st
lstream->istream.istream.seekable = input->seekable;
return i_stream_create(&lstream->istream, i_stream_get_fd(input),
input->real_stream->abs_start_offset +
- v_start_offset);
+ input->v_offset);
}
diff -r 1a89a1509e81 -r 4b51ee73ed51 src/lib/istream.h
--- a/src/lib/istream.h Sat Dec 22 04:48:33 2007 +0200
+++ b/src/lib/istream.h Sat Dec 22 05:04:46 2007 +0200
@@ -26,8 +26,7 @@ struct istream *i_stream_create_mmap(int
uoff_t start_offset, uoff_t v_size,
bool autoclose_fd);
struct istream *i_stream_create_from_data(const void *data, size_t size);
-struct istream *i_stream_create_limit(struct istream *input,
- uoff_t v_start_offset, uoff_t v_size);
+struct istream *i_stream_create_limit(struct istream *input, uoff_t v_size);
/* i_stream_close() + i_stream_unref() */
void i_stream_destroy(struct istream **stream);
More information about the dovecot-cvs
mailing list