Mercurial > dovecot > original-hg > dovecot-1.2
diff src/lib/istream-file.c @ 6558:4a1caf69ca14 HEAD
Added i_stream_get_buffer_space() to remove code duplication.
author | Timo Sirainen <tss@iki.fi> |
---|---|
date | Sat, 20 Oct 2007 19:12:32 +0300 |
parents | 65c69a53a7be |
children | 85385079b044 |
line wrap: on
line diff
--- a/src/lib/istream-file.c Sat Oct 20 19:11:20 2007 +0300 +++ b/src/lib/istream-file.c Sat Oct 20 19:12:32 2007 +0300 @@ -45,28 +45,9 @@ size_t size; ssize_t ret; - if (stream->istream.closed) - return -1; - stream->istream.stream_errno = 0; - - if (stream->pos == stream->buffer_size) { - if (stream->skip > 0) { - /* remove the unused bytes from beginning of buffer */ - i_stream_compress(stream); - } else 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); - } - - if (stream->pos == stream->buffer_size) - return -2; /* buffer full */ - } - - size = stream->buffer_size - stream->pos; - - ret = -1; + if (!i_stream_get_buffer_space(stream, 1, &size)) + return -2; do { if (fstream->file) {