stream->closed = TRUE;
}
- if (stream->stream_errno == 0)
+ if (stream->stream_errno != 0)
+ i_assert(stream->last_failed_errno != 0);
+ else {
stream->stream_errno = EPIPE;
+ stream->last_failed_errno = EPIPE;
+ }
}
void o_stream_destroy(struct ostream **stream)
uoff_t offset ATTR_UNUSED)
{
_stream->ostream.stream_errno = ESPIPE;
+ _stream->ostream.last_failed_errno = ESPIPE;
return -1;
}
size_t size ATTR_UNUSED, uoff_t offset ATTR_UNUSED)
{
_stream->ostream.stream_errno = ESPIPE;
+ _stream->ostream.last_failed_errno = ESPIPE;
return -1;
}