Mercurial > dovecot > original-hg > dovecot-1.2
changeset 5480:c19ab50e54ea HEAD
Use the new generic istream functionality.
author | Timo Sirainen <tss@iki.fi> |
---|---|
date | Sat, 31 Mar 2007 11:33:37 +0300 |
parents | b3999af65adb |
children | 460d6aeee7af |
files | src/plugins/zlib/istream-zlib.c |
diffstat | 1 files changed, 4 insertions(+), 39 deletions(-) [+] |
line wrap: on
line diff
--- a/src/plugins/zlib/istream-zlib.c Sat Mar 31 11:32:32 2007 +0300 +++ b/src/plugins/zlib/istream-zlib.c Sat Mar 31 11:33:37 2007 +0300 @@ -15,8 +15,6 @@ struct zlib_istream { struct _istream istream; - size_t max_buffer_size; - int fd; gzFile *file; uoff_t cached_size; @@ -42,38 +40,6 @@ p_free(_stream->iostream.pool, _stream->w_buffer); } -static void _set_max_buffer_size(struct _iostream *stream, size_t max_size) -{ - struct zlib_istream *zstream = (struct zlib_istream *)stream; - - zstream->max_buffer_size = max_size; -} - -static void i_stream_grow_buffer(struct _istream *stream, size_t bytes) -{ - struct zlib_istream *zstream = (struct zlib_istream *)stream; - size_t old_size; - - old_size = stream->buffer_size; - - stream->buffer_size = stream->pos + bytes; - if (stream->buffer_size <= I_STREAM_MIN_SIZE) - stream->buffer_size = I_STREAM_MIN_SIZE; - else { - stream->buffer_size = - pool_get_exp_grown_size(stream->iostream.pool, - old_size, stream->buffer_size); - } - - if (zstream->max_buffer_size > 0 && - stream->buffer_size > zstream->max_buffer_size) - stream->buffer_size = zstream->max_buffer_size; - - stream->buffer = stream->w_buffer = - p_realloc(stream->iostream.pool, stream->w_buffer, - old_size, stream->buffer_size); -} - static void i_stream_compress(struct _istream *stream) { memmove(stream->w_buffer, stream->w_buffer + stream->skip, @@ -101,10 +67,10 @@ i_stream_compress(stream); } - if (zstream->max_buffer_size == 0 || - stream->buffer_size < zstream->max_buffer_size) { + if (stream->max_buffer_size == 0 || + stream->buffer_size < stream->max_buffer_size) { /* buffer is full - grow it */ - i_stream_grow_buffer(stream, I_STREAM_MIN_SIZE); + _i_stream_grow_buffer(stream, I_STREAM_MIN_SIZE); } if (stream->pos == stream->buffer_size) { @@ -247,12 +213,11 @@ zstream->fd = fd; zstream->file = gzdopen(fd, "r"); zstream->cached_size = (uoff_t)-1; - zstream->max_buffer_size = DEFAULT_MAX_BUFFER_SIZE; zstream->istream.iostream.close = _close; zstream->istream.iostream.destroy = _destroy; - zstream->istream.iostream.set_max_buffer_size = _set_max_buffer_size; + zstream->istream.max_buffer_size = DEFAULT_MAX_BUFFER_SIZE; zstream->istream.read = _read; zstream->istream.seek = _seek; zstream->istream.stat = _stat;