istream-limit.c revision 1117aa7adc2909c750031fd7551a58a486d100d8
f9511e684858bf5f6ac77ab12254b85b737beae8Stephan Bosch/* Copyright (C) 2003 Timo Sirainen */
f9511e684858bf5f6ac77ab12254b85b737beae8Stephan Boschstatic void _close(struct _iostream *stream __attr_unused__)
f9511e684858bf5f6ac77ab12254b85b737beae8Stephan Bosch struct limit_istream *lstream = (struct limit_istream *) stream;
f9511e684858bf5f6ac77ab12254b85b737beae8Stephan Bosch /* get to same position in parent stream */
f9511e684858bf5f6ac77ab12254b85b737beae8Stephan Bosch i_stream_seek(lstream->input, lstream->v_start_offset +
f9511e684858bf5f6ac77ab12254b85b737beae8Stephan Boschstatic void _set_max_buffer_size(struct _iostream *stream, size_t max_size)
f9511e684858bf5f6ac77ab12254b85b737beae8Stephan Bosch struct limit_istream *lstream = (struct limit_istream *) stream;
f9511e684858bf5f6ac77ab12254b85b737beae8Stephan Bosch i_stream_set_max_buffer_size(lstream->input, max_size);
96fbbe9c6fd04bca25770020bf94eec50888bc9bStephan Boschstatic void _set_blocking(struct _iostream *stream, int timeout_msecs,
f9511e684858bf5f6ac77ab12254b85b737beae8Stephan Bosch struct limit_istream *lstream = (struct limit_istream *) stream;
f9511e684858bf5f6ac77ab12254b85b737beae8Stephan Bosch i_stream_set_blocking(lstream->input, timeout_msecs,
f9511e684858bf5f6ac77ab12254b85b737beae8Stephan Bosch struct limit_istream *lstream = (struct limit_istream *) stream;
f9511e684858bf5f6ac77ab12254b85b737beae8Stephan Bosch (stream->pos - stream->skip) >= lstream->v_size)
return ret;