istream-chain.c revision 4afd5082f38342fd688acb5796912329f57dd02c
51ed197520dd9ea534fbc3bc1790ebe3cb5421e2Michael M Slusarz/* Copyright (c) 2003-2012 Dovecot authors, see the included COPYING file */
51ed197520dd9ea534fbc3bc1790ebe3cb5421e2Michael M Slusarzi_stream_chain_append_internal(struct istream_chain *chain,
51ed197520dd9ea534fbc3bc1790ebe3cb5421e2Michael M Slusarz if (stream == NULL && chain->tail != NULL && chain->tail->stream == NULL)
51ed197520dd9ea534fbc3bc1790ebe3cb5421e2Michael M Slusarz link = i_new(struct istream_chain_link, 1);
51ed197520dd9ea534fbc3bc1790ebe3cb5421e2Michael M Slusarz if (chain->head == NULL && stream != NULL) {
51ed197520dd9ea534fbc3bc1790ebe3cb5421e2Michael M Slusarz if (chain->stream->istream.max_buffer_size == 0) {
51ed197520dd9ea534fbc3bc1790ebe3cb5421e2Michael M Slusarz DLLIST2_APPEND(&chain->head, &chain->tail, link);
51ed197520dd9ea534fbc3bc1790ebe3cb5421e2Michael M Slusarzvoid i_stream_chain_append(struct istream_chain *chain, struct istream *stream)
51ed197520dd9ea534fbc3bc1790ebe3cb5421e2Michael M Slusarz return i_stream_chain_append_internal(chain, stream);
51ed197520dd9ea534fbc3bc1790ebe3cb5421e2Michael M Slusarzvoid i_stream_chain_append_eof(struct istream_chain *chain)
51ed197520dd9ea534fbc3bc1790ebe3cb5421e2Michael M Slusarz return i_stream_chain_append_internal(chain, NULL);
const unsigned char *data;
if (data_size > 0) {
i_unreached();
const unsigned char *data;
bytes_skipped = 0;
ret = 0;
return ret;
return ret;