# HG changeset patch # User Timo Sirainen # Date 1192896910 -10800 # Node ID 15a9ce2cc0ab9d77e7475f5786adb4253a0949e4 # Parent 4a1caf69ca14389f64e6adf2b9de805fb08742ac Always keep a usable value in stream->max_buffer_size. diff -r 4a1caf69ca14 -r 15a9ce2cc0ab src/lib-mail/istream-header-filter.c --- a/src/lib-mail/istream-header-filter.c Sat Oct 20 19:12:32 2007 +0300 +++ b/src/lib-mail/istream-header-filter.c Sat Oct 20 19:15:10 2007 +0300 @@ -55,6 +55,7 @@ struct header_filter_istream *mstream = (struct header_filter_istream *)stream; + mstream->istream.max_buffer_size = max_size; i_stream_set_max_buffer_size(mstream->input, max_size); } @@ -333,6 +334,7 @@ mstream = i_new(struct header_filter_istream, 1); mstream->pool = pool_alloconly_create("header filter stream", 4096); + mstream->istream.max_buffer_size = input->real_stream->max_buffer_size; mstream->input = input; i_stream_ref(mstream->input); diff -r 4a1caf69ca14 -r 15a9ce2cc0ab src/lib-storage/index/mbox/istream-raw-mbox.c --- a/src/lib-storage/index/mbox/istream-raw-mbox.c Sat Oct 20 19:12:32 2007 +0300 +++ b/src/lib-storage/index/mbox/istream-raw-mbox.c Sat Oct 20 19:15:10 2007 +0300 @@ -39,6 +39,7 @@ { struct raw_mbox_istream *rstream = (struct raw_mbox_istream *)stream; + rstream->istream.max_buffer_size = max_size; i_stream_set_max_buffer_size(rstream->input, max_size); } @@ -360,6 +361,7 @@ rstream->received_time = (time_t)-1; rstream->next_received_time = (time_t)-1; + rstream->istream.max_buffer_size = input->real_stream->max_buffer_size; rstream->istream.iostream.destroy = i_stream_raw_mbox_destroy; rstream->istream.iostream.set_max_buffer_size = i_stream_raw_mbox_set_max_buffer_size; diff -r 4a1caf69ca14 -r 15a9ce2cc0ab src/lib/istream-crlf.c --- a/src/lib/istream-crlf.c Sat Oct 20 19:12:32 2007 +0300 +++ b/src/lib/istream-crlf.c Sat Oct 20 19:15:10 2007 +0300 @@ -25,6 +25,7 @@ { struct crlf_istream *cstream = (struct crlf_istream *)stream; + cstream->istream.max_buffer_size = max_size; i_stream_set_max_buffer_size(cstream->input, max_size); } @@ -129,6 +130,7 @@ cstream = i_new(struct crlf_istream, 1); cstream->input = input; cstream->crlf = crlf; + cstream->istream.max_buffer_size = input->real_stream->max_buffer_size; cstream->istream.iostream.destroy = i_stream_crlf_destroy; cstream->istream.iostream.set_max_buffer_size = diff -r 4a1caf69ca14 -r 15a9ce2cc0ab src/lib/istream-limit.c --- a/src/lib/istream-limit.c Sat Oct 20 19:12:32 2007 +0300 +++ b/src/lib/istream-limit.c Sat Oct 20 19:15:10 2007 +0300 @@ -26,6 +26,7 @@ { struct limit_istream *lstream = (struct limit_istream *) stream; + lstream->istream.max_buffer_size = max_size; i_stream_set_max_buffer_size(lstream->input, max_size); } @@ -117,6 +118,7 @@ lstream->input = input; lstream->v_start_offset = v_start_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 : diff -r 4a1caf69ca14 -r 15a9ce2cc0ab src/lib/istream-seekable.c --- a/src/lib/istream-seekable.c Sat Oct 20 19:12:32 2007 +0300 +++ b/src/lib/istream-seekable.c Sat Oct 20 19:15:10 2007 +0300 @@ -18,7 +18,6 @@ struct seekable_istream { struct istream_private istream; - size_t max_buffer_size; char *temp_prefix; uoff_t write_peak; @@ -63,7 +62,7 @@ struct seekable_istream *sstream = (struct seekable_istream *)stream; unsigned int i; - sstream->max_buffer_size = max_size; + sstream->istream.max_buffer_size = max_size; if (sstream->fd_input != NULL) i_stream_set_max_buffer_size(sstream->fd_input, max_size); for (i = 0; sstream->input[i] != NULL; i++) @@ -123,7 +122,7 @@ sstream->fd = fd; sstream->fd_input = - i_stream_create_fd(fd, sstream->max_buffer_size, TRUE); + i_stream_create_fd(fd, sstream->istream.max_buffer_size, TRUE); return 0; } @@ -170,7 +169,7 @@ if (stream->istream.v_offset + (stream->pos - stream->skip) >= sstream->buffer->used) { /* need to read more */ - if (sstream->buffer->used >= sstream->max_buffer_size) + if (sstream->buffer->used >= stream->max_buffer_size) return FALSE; /* read more to buffer */ @@ -310,7 +309,7 @@ sstream = i_new(struct seekable_istream, 1); sstream->temp_prefix = i_strdup(temp_prefix); sstream->buffer = buffer_create_dynamic(default_pool, BUF_INITIAL_SIZE); - sstream->max_buffer_size = max_buffer_size; + sstream->istream.max_buffer_size = max_buffer_size; sstream->input = i_new(struct istream *, count + 1); memcpy(sstream->input, input, sizeof(*input) * count); diff -r 4a1caf69ca14 -r 15a9ce2cc0ab src/lib/istream-tee.c --- a/src/lib/istream-tee.c Sat Oct 20 19:12:32 2007 +0300 +++ b/src/lib/istream-tee.c Sat Oct 20 19:15:10 2007 +0300 @@ -99,6 +99,7 @@ { struct tee_child_istream *tstream = (struct tee_child_istream *)stream; + tstream->istream.max_buffer_size = max_size; i_stream_set_max_buffer_size(tstream->tee->input, max_size); } @@ -190,6 +191,8 @@ tstream = i_new(struct tee_child_istream, 1); tstream->tee = tee; + tstream->istream.max_buffer_size = + tee->input->real_stream->max_buffer_size; tstream->istream.iostream.close = i_stream_tee_close; tstream->istream.iostream.destroy = i_stream_tee_destroy; tstream->istream.iostream.set_max_buffer_size =