istream-hash.c revision 25fb397382c6f7d39bfeee85774e7675f02bfb3c
25757faf029c369a8318349dafe952e2358df1d8Timo Sirainen/* Copyright (c) 2013-2015 Dovecot authors, see the included COPYING file */
25757faf029c369a8318349dafe952e2358df1d8Timo Siraineni_stream_hash_read(struct istream_private *stream)
25757faf029c369a8318349dafe952e2358df1d8Timo Sirainen struct hash_istream *hstream = (struct hash_istream *)stream;
3b94ff5951db4d4eddb7a80ed4e3f61207202635Timo Sirainen const unsigned char *data;
12aad74464367f7e8be11eafe1af985bf7b1adecTimo Sirainen i_stream_seek(stream->parent, stream->parent_start_offset +
97c339398f1aba6f315b55a9b6ee6b020e33bea4Timo Sirainen ret = i_stream_read_copy_from_parent(&stream->istream);
97c339398f1aba6f315b55a9b6ee6b020e33bea4Timo Sirainen if (ret > 0 && hstream->hash_context != NULL) {
25757faf029c369a8318349dafe952e2358df1d8Timo Sirainen data = i_stream_get_data(&stream->istream, &size);
25757faf029c369a8318349dafe952e2358df1d8Timo Sirainen i_assert(stream->istream.v_offset <= hstream->high_offset);
} else if (ret < 0) {
return ret;
struct istream *
void *hash_context)