changeset 10641:174275bcb1a5 HEAD

ostream: Added default failure handling if write_at() isn't implemented.
author Timo Sirainen <tss@iki.fi>
date Sat, 06 Feb 2010 01:06:47 +0200
parents b87a15fc462a
children 9f0e01905171
files src/lib/ostream.c
diffstat 1 files changed, 5 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/src/lib/ostream.c	Sat Feb 06 00:38:04 2010 +0200
+++ b/src/lib/ostream.c	Sat Feb 06 01:06:47 2010 +0200
@@ -212,6 +212,11 @@
 	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)) {