_stream->skip = _stream->pos;
stream->v_offset += data_size;
- if (unlikely(stream->closed))
+ if (unlikely(stream->closed || stream->stream_errno != 0))
return;
_stream->seek(_stream, stream->v_offset + count, FALSE);
i_stream_can_optimize_seek(_stream))
i_stream_skip(stream, v_offset - stream->v_offset);
else {
- if (unlikely(stream->closed))
+ if (unlikely(stream->closed || stream->stream_errno != 0))
return;
stream->eof = FALSE;
{
struct istream_private *_stream = stream->real_stream;
- if (unlikely(stream->closed))
+ if (unlikely(stream->closed || stream->stream_errno != 0))
return;
stream->eof = FALSE;
{
struct istream_private *_stream = stream->real_stream;
- if (unlikely(stream->closed))
+ if (unlikely(stream->closed || stream->stream_errno != 0))
return;
if (_stream->sync != NULL) {
{
struct istream_private *_stream = stream->real_stream;
- if (unlikely(stream->closed))
+ if (unlikely(stream->closed || stream->stream_errno != 0))
return -1;
if (_stream->stat(_stream, exact) < 0)
{
struct istream_private *_stream = stream->real_stream;
- if (unlikely(stream->closed))
+ if (unlikely(stream->closed || stream->stream_errno != 0))
return -1;
return _stream->get_size(_stream, exact, size_r);