From: Timo Sirainen Date: Fri, 5 Feb 2010 23:06:47 +0000 (+0200) Subject: ostream: Added default failure handling if write_at() isn't implemented. X-Git-Tag: 2.0.beta3~157 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=40fdb94d4db3d81e39f0f6655269ea7f6c268f32;p=thirdparty%2Fdovecot%2Fcore.git ostream: Added default failure handling if write_at() isn't implemented. --HG-- branch : HEAD --- diff --git a/src/lib/ostream.c b/src/lib/ostream.c index d0922dea45..8b286f8b47 100644 --- a/src/lib/ostream.c +++ b/src/lib/ostream.c @@ -212,6 +212,11 @@ int o_stream_pwrite(struct ostream *stream, const void *data, size_t size, if (unlikely(stream->closed)) return -1; + if (stream->real_stream->write_at == NULL) { + /* stream doesn't support seeking */ + stream->stream_errno = EPIPE; + return -1; + } ret = stream->real_stream->write_at(stream->real_stream, data, size, offset); if (unlikely(ret < 0)) {