os: Complement/improve stream inline helpers.
authorJosé Fonseca <jfonseca@vmware.com>
Sun, 14 Feb 2010 23:04:04 +0000 (23:04 +0000)
committerJosé Fonseca <jfonseca@vmware.com>
Sun, 14 Feb 2010 23:25:34 +0000 (23:25 +0000)
src/gallium/auxiliary/os/os_stream.h

index 8232b0f1586bc8556cbb1442a0f9a055dad4721f..2ce5b1885ea8733f3b7a34399d53aaea2dcebf28 100644 (file)
@@ -56,6 +56,9 @@ struct os_stream
 static INLINE void
 os_stream_close(struct os_stream *stream)
 {
+   if (!stream)
+      return;
+
    stream->close(stream);
 }
 
@@ -63,10 +66,24 @@ os_stream_close(struct os_stream *stream)
 static INLINE boolean
 os_stream_write(struct os_stream *stream, const void *data, size_t size)
 {
+   if (!stream)
+      return FALSE;
    return stream->write(stream, data, size);
 }
 
 
+static INLINE boolean
+os_stream_write_str(struct os_stream *stream, const char *str)
+{
+   size_t size;
+   if (!stream)
+      return FALSE;
+   for(size = 0; str[size]; ++size)
+      ;
+   return stream->write(stream, str, size);
+}
+
+
 static INLINE void
 os_stream_flush(struct os_stream *stream)
 {