about summary refs log tree commit diff
path: root/lib/libpamwrite.c
diff options
context:
space:
mode:
authorgiraffedata <giraffedata@9d0c8265-081b-0410-96cb-a4ca84ce46f8>2013-06-23 20:19:14 +0000
committergiraffedata <giraffedata@9d0c8265-081b-0410-96cb-a4ca84ce46f8>2013-06-23 20:19:14 +0000
commit0e0b8950a4b33eedf777f97a6c97f24cc9155f6c (patch)
treecb4dc45fb40645fe46a0b2e8982ccb0c750ed128 /lib/libpamwrite.c
parent7e43077cada20ff29a6fcd4b5751e72e0873125c (diff)
downloadnetpbm-mirror-0e0b8950a4b33eedf777f97a6c97f24cc9155f6c.tar.gz
netpbm-mirror-0e0b8950a4b33eedf777f97a6c97f24cc9155f6c.tar.xz
netpbm-mirror-0e0b8950a4b33eedf777f97a6c97f24cc9155f6c.zip
Don't look at pam.plainformat when format is PAM (avoids problem with Valgrind)
git-svn-id: http://svn.code.sf.net/p/netpbm/code/trunk@1954 9d0c8265-081b-0410-96cb-a4ca84ce46f8
Diffstat (limited to 'lib/libpamwrite.c')
-rw-r--r--lib/libpamwrite.c14
1 files changed, 6 insertions, 8 deletions
diff --git a/lib/libpamwrite.c b/lib/libpamwrite.c
index 73e5e78a..9f86e359 100644
--- a/lib/libpamwrite.c
+++ b/lib/libpamwrite.c
@@ -22,6 +22,7 @@
 #include <math.h>
 
 #include "pm_config.h"
+#include "pm_c_util.h"
 #include "pam.h"
 
 
@@ -354,7 +355,9 @@ pnm_writepamrow(const struct pam * const pamP,
        pnm_writepaminit().
     */
     
-    if (pm_plain_output || pamP->plainformat) {
+    if (pamP->format == PAM_FORMAT || !(pm_plain_output || pamP->plainformat))
+        writePamRawRow(pamP, tuplerow, 1);
+    else {
         switch (PAM_FORMAT_TYPE(pamP->format)) {
         case PBM_TYPE:
             writePamPlainPbmRow(pamP, tuplerow);
@@ -364,18 +367,13 @@ pnm_writepamrow(const struct pam * const pamP,
             writePamPlainRow(pamP, tuplerow);
             break;
         case PAM_TYPE:
-            /* pm_plain_output is impossible here due to assumption stated
-               above about pnm_writepaminit() having checked it.  The
-               pamP->plainformat is meaningless for PAM.
-            */
-            writePamRawRow(pamP, tuplerow, 1);
+            assert(false);
             break;
         default:
             pm_error("Invalid 'format' value %u in pam structure", 
                      pamP->format);
         }
-    } else
-        writePamRawRow(pamP, tuplerow, 1);
+    }
 }