summaryrefslogtreecommitdiff
path: root/source/fitz/output.c
diff options
context:
space:
mode:
Diffstat (limited to 'source/fitz/output.c')
-rw-r--r--source/fitz/output.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/source/fitz/output.c b/source/fitz/output.c
index e39dd352..1f713709 100644
--- a/source/fitz/output.c
+++ b/source/fitz/output.c
@@ -13,8 +13,12 @@ static int
file_write(fz_context *ctx, void *opaque, const void *buffer, int count)
{
FILE *file = opaque;
- size_t n = fwrite(buffer, 1, count, file);
- if (n < count && ferror(file))
+ size_t n;
+
+ if (count < 0)
+ return 0;
+ n = fwrite(buffer, 1, count, file);
+ if (n < (size_t)count && ferror(file))
fz_throw(ctx, FZ_ERROR_GENERIC, "cannot fwrite: %s", strerror(errno));
return n;
}