From e3d7a90d85729644ca3ad1f9802ae016d2cffecd Mon Sep 17 00:00:00 2001 From: espen Date: Mon, 9 Feb 2009 11:46:21 +0000 Subject: [PATCH] Bug fix in stdio_write_func --- cairo/alien/cairo-jpeg.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/cairo/alien/cairo-jpeg.c b/cairo/alien/cairo-jpeg.c index 9882588..c59e299 100644 --- a/cairo/alien/cairo-jpeg.c +++ b/cairo/alien/cairo-jpeg.c @@ -393,7 +393,14 @@ cairo_status_t stdio_write_func (void *closure, const unsigned char *data, unsigned int length) { - return fwrite(data, 1, length, (FILE *)closure); + int bytes_written; + do { + bytes_written = fwrite(data, 1, length, (FILE *)closure); + data += bytes_written; + length -= bytes_written; + } while (bytes_written > 0 && length > 0); + + return CAIRO_STATUS_SUCCESS; } /* -- 2.11.0