changeset 808:f8126fa1df9b

Use dmlib error code return value in cases where a plain boolean was used before.
author Matti Hamalainen <ccr@tnsp.org>
date Tue, 13 May 2014 18:18:10 +0300
parents d83dc7e47076
children eba3b87f3f84
files libgfx.c libgfx.h
diffstat 2 files changed, 17 insertions(+), 17 deletions(-) [+]
line wrap: on
line diff
--- a/libgfx.c	Tue May 06 14:40:28 2014 +0300
+++ b/libgfx.c	Tue May 13 18:18:10 2014 +0300
@@ -128,7 +128,7 @@
 }
 
 
-int dmWriteImageData(DMImage *img, void *cbdata, BOOL (*writeRowCB)(void *, Uint8 *, size_t), const DMImageSpec *spec)
+int dmWriteImageData(DMImage *img, void *cbdata, int (*writeRowCB)(void *, Uint8 *, size_t), const DMImageSpec *spec)
 {
     int x, y, yscale, xscale, res = 0, rowSize, rowWidth;
     Uint8 *row = NULL;
@@ -205,11 +205,8 @@
 
         for (yscale = 0; yscale < spec->scale; yscale++)
         {
-            if (!writeRowCB(cbdata, row, rowSize))
-            {
-                res = DMERR_FWRITE;
+            if ((res = writeRowCB(cbdata, row, rowSize)) != DMERR_OK)
                 goto done;
-            }
         }
     }
 
@@ -311,9 +308,12 @@
 }
 
 
-static BOOL dmWritePPMRow(void *cbdata, Uint8 *row, size_t len)
+static int dmWritePPMRow(void *cbdata, Uint8 *row, size_t len)
 {
-    return fwrite(row, sizeof(Uint8), len, (FILE *) cbdata) == len;
+    if (fwrite(row, sizeof(Uint8), len, (FILE *) cbdata) == len)
+        return DMERR_OK;
+    else
+        return DMERR_FWRITE;
 }
 
 
@@ -351,17 +351,17 @@
 
 
 #ifdef DM_USE_LIBPNG
-static BOOL dmWritePNGRow(void *cbdata, Uint8 *row, size_t len)
+static int dmWritePNGRow(void *cbdata, Uint8 *row, size_t len)
 {
     png_structp png_ptr = cbdata;
     (void) len;
 
     if (setjmp(png_jmpbuf(png_ptr)))
-        return FALSE;
+        return DMERR_INTERNAL;
 
     png_write_row(png_ptr, row);
 
-    return TRUE;
+    return DMERR_OK;
 }
 
 
@@ -734,7 +734,7 @@
         return dmPCXFlush(pcx);
 }
 
-static BOOL dmWritePCXRow(void *cbdata, Uint8 *row, size_t len)
+static int dmWritePCXRow(void *cbdata, Uint8 *row, size_t len)
 {
     DMPCXData *pcx = (DMPCXData *) cbdata;
     int plane;
@@ -763,13 +763,13 @@
                 if (count == 1 && (data & 0xC0) != 0xC0)
                 {
                     if (!dmPCXPutByte(pcx, data))
-                        return FALSE;
+                        return DMERR_FWRITE;
                 }
                 else
                 {
                     if (!dmPCXPutByte(pcx, 0xC0 | count) ||
                         !dmPCXPutByte(pcx, data))
-                        return FALSE;
+                        return DMERR_FWRITE;
                 }
 
                 data = dmPCXGetByte(row, len, soffs++);
@@ -781,15 +781,15 @@
         {
             if (!dmPCXPutByte(pcx, 0xC0 | count) ||
                 !dmPCXPutByte(pcx, data))
-                return FALSE;
+                return DMERR_FWRITE;
         }
 
         if (!dmPCXFlush(pcx))
-            return FALSE;
+            return DMERR_FWRITE;
     }
 
 
-    return TRUE;
+    return DMERR_OK;
 }
 
 
--- a/libgfx.h	Tue May 06 14:40:28 2014 +0300
+++ b/libgfx.h	Tue May 13 18:18:10 2014 +0300
@@ -94,7 +94,7 @@
 BOOL dmCompareColor(const DMColor *c1, const DMColor *c2, BOOL alpha);
 
 
-int dmWriteImageData(DMImage *img, void *cbdata, BOOL (*writeRowCB)(void *, Uint8 *, size_t), const DMImageSpec *spec);
+int dmWriteImageData(DMImage *img, void *cbdata, int (*writeRowCB)(void *, Uint8 *, size_t), const DMImageSpec *spec);
 
 int dmWriteIFFMasterRAWPalette(FILE *fp, DMImage *img, int ncolors, const char *indent, const char *type);
 int dmWriteRAWImageFILE(FILE *fp, DMImage *img, DMImageSpec *spec);