istream.c revision 0611067f385a37773800225256dcd5cf6aa34212
76b43e4417bab52e913da39b5f5bc2a130d3f149Timo Sirainen/* Copyright (c) 2002-2003 Timo Sirainen */
25757faf029c369a8318349dafe952e2358df1d8Timo Sirainen _io_stream_ref(&stream->real_stream->iostream);
16f46efe0e090fe6975acf012a61a160f4787985Andrey Panin _io_stream_unref(&stream->real_stream->iostream);
25757faf029c369a8318349dafe952e2358df1d8Timo Sirainen struct _istream *_stream = stream->real_stream;
25757faf029c369a8318349dafe952e2358df1d8Timo Sirainen _io_stream_close(&stream->real_stream->iostream);
d1414c09cf0d58ac983054e2f4e1a1f329272dcfTimo Sirainenvoid i_stream_set_max_buffer_size(struct istream *stream, size_t max_size)
25757faf029c369a8318349dafe952e2358df1d8Timo Sirainen _io_stream_set_max_buffer_size(&stream->real_stream->iostream,
25757faf029c369a8318349dafe952e2358df1d8Timo Sirainenvoid i_stream_set_blocking(struct istream *stream, int timeout_msecs,
7242e1ce7803b83bc82e239ef111b47c1c72dd4bAndrey Panin _io_stream_set_blocking(&stream->real_stream->iostream, timeout_msecs,
d1414c09cf0d58ac983054e2f4e1a1f329272dcfTimo Sirainenvoid i_stream_set_start_offset(struct istream *stream, uoff_t offset)
d1414c09cf0d58ac983054e2f4e1a1f329272dcfTimo Sirainen struct _istream *_stream = stream->real_stream;
d1414c09cf0d58ac983054e2f4e1a1f329272dcfTimo Sirainen offset <= stream->start_offset + stream->v_size);
e70d5895795732b8247ab9abb045b438e954bc46Timo Sirainen diff = (off_t)stream->start_offset - (off_t)offset;
e70d5895795732b8247ab9abb045b438e954bc46Timo Sirainen /* reset buffer data */
648d24583c1574441c4fa0331a90bd4d6e7996c5Timo Sirainen _stream->skip = _stream->pos = _stream->high_pos = 0;
1ddec6312bc6882aeb17d4d46d19cbca1723b68bTimo Sirainenvoid i_stream_set_read_limit(struct istream *stream, uoff_t v_offset)
1ddec6312bc6882aeb17d4d46d19cbca1723b68bTimo Sirainen struct _istream *_stream = stream->real_stream;
1ddec6312bc6882aeb17d4d46d19cbca1723b68bTimo Sirainen i_assert(stream->v_size == 0 || v_offset <= stream->v_size);
25757faf029c369a8318349dafe952e2358df1d8Timo Sirainen max_pos = v_offset - stream->v_offset + _stream->skip;
2c38504860da8a8de915f8e0f5f39d7e7bd00cf8Timo Sirainen struct _istream *_stream = stream->real_stream;
97c339398f1aba6f315b55a9b6ee6b020e33bea4Timo Sirainen /* virtual limit reached */
25757faf029c369a8318349dafe952e2358df1d8Timo Sirainenvoid i_stream_skip(struct istream *stream, uoff_t count)
25757faf029c369a8318349dafe952e2358df1d8Timo Sirainen struct _istream *_stream = stream->real_stream;
25757faf029c369a8318349dafe952e2358df1d8Timo Sirainen /* virtual limit reached */
char *ret_buf;
size_t i;
return NULL;
return NULL;
return ret_buf;
char *line;
return line;
return line;
*size = 0;
return NULL;
*size = 0;
return NULL;
if (ret < 0)