static int o_stream_bzlib_flush(struct ostream_private *stream)
{
struct bzlib_ostream *zstream = (struct bzlib_ostream *)stream;
- int ret;
if (o_stream_bzlib_send_flush(zstream) < 0)
return -1;
- ret = o_stream_flush(stream->parent);
- if (ret < 0)
- o_stream_copy_error_from_parent(stream);
- return ret;
+ return o_stream_flush_parent(stream);
}
static ssize_t
static int o_stream_lz4_flush(struct ostream_private *stream)
{
struct lz4_ostream *zstream = (struct lz4_ostream *)stream;
- int ret;
if (o_stream_lz4_compress(zstream) < 0)
return -1;
if (o_stream_lz4_send_outbuf(zstream) < 0)
return -1;
- ret = o_stream_flush(stream->parent);
- if (ret < 0)
- o_stream_copy_error_from_parent(stream);
- return ret;
+ return o_stream_flush_parent(stream);
}
static ssize_t
static int o_stream_lzma_flush(struct ostream_private *stream)
{
struct lzma_ostream *zstream = (struct lzma_ostream *)stream;
- int ret;
if (o_stream_lzma_send_flush(zstream) < 0)
return -1;
- ret = o_stream_flush(stream->parent);
- if (ret < 0)
- o_stream_copy_error_from_parent(stream);
- return ret;
+ return o_stream_flush_parent(stream);
}
static ssize_t
static int o_stream_zlib_flush(struct ostream_private *stream)
{
struct zlib_ostream *zstream = (struct zlib_ostream *)stream;
- int ret;
if (o_stream_zlib_send_flush(zstream, stream->finished) < 0)
return -1;
- ret = o_stream_flush(stream->parent);
- if (ret < 0)
- o_stream_copy_error_from_parent(stream);
- return ret;
+ return o_stream_flush_parent(stream);
}
static ssize_t
int o_stream_encrypt_flush(struct ostream_private *stream)
{
struct encrypt_ostream *estream = (struct encrypt_ostream *)stream;
- int ret;
if (stream->finished && estream->ctx_sym != NULL &&
!estream->finalized) {
return -1;
}
- if ((ret = o_stream_flush(stream->parent)) < 0)
- o_stream_copy_error_from_parent(stream);
- return ret;
+ return o_stream_flush_parent(stream);
}
static
return ret;
}
- if ((ret = o_stream_flush(stream->parent)) < 0)
- o_stream_copy_error_from_parent(stream);
- return ret;
+ return o_stream_flush_parent(stream);
}
static void
if ((ret = o_stream_escaped_send_outbuf(estream)) <= 0)
return ret;
- if ((ret = o_stream_flush(stream->parent)) < 0)
- o_stream_copy_error_from_parent(stream);
- return ret;
+ return o_stream_flush_parent(stream);
}
static void o_stream_escaped_destroy(struct iostream_private *stream)
stream->ostream.stream_errno = errno = EIO;
return -1;
}
- return o_stream_flush(stream->parent);
+ return o_stream_flush_parent(stream);
}
struct ostream *
static int o_stream_default_flush(struct ostream_private *_stream)
{
- int ret;
-
if (_stream->parent == NULL)
return 1;
- if ((ret = o_stream_flush(_stream->parent)) < 0)
- o_stream_copy_error_from_parent(_stream);
- return ret;
+ return o_stream_flush_parent(_stream);
}
static void
if ((ret = o_stream_mail_filter_finish(stream)) <= 0)
return ret;
}
- if ((ret = o_stream_flush(stream->parent)) < 0)
- o_stream_copy_error_from_parent(stream);
- return ret;
+ return o_stream_flush_parent(stream);
}
static int filter_connect(struct mail_filter_ostream *mstream,