diff options
Diffstat (limited to 'lib/libpamwrite.c')
-rw-r--r-- | lib/libpamwrite.c | 14 |
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); + } } |