about summary refs log tree commit diff
path: root/lib
diff options
context:
space:
mode:
authorgiraffedata <giraffedata@9d0c8265-081b-0410-96cb-a4ca84ce46f8>2007-09-03 17:24:29 +0000
committergiraffedata <giraffedata@9d0c8265-081b-0410-96cb-a4ca84ce46f8>2007-09-03 17:24:29 +0000
commit6a66ff83d67ba0ec0d0d7282ab7622cca914bf4d (patch)
tree6d5fa63d8d09d0752044498506a1c661f053f847 /lib
parentd86b4780b8b92d68ca0e2d43c90deb57adebd8ae (diff)
downloadnetpbm-mirror-6a66ff83d67ba0ec0d0d7282ab7622cca914bf4d.tar.gz
netpbm-mirror-6a66ff83d67ba0ec0d0d7282ab7622cca914bf4d.tar.xz
netpbm-mirror-6a66ff83d67ba0ec0d0d7282ab7622cca914bf4d.zip
Release 10.39.05
git-svn-id: http://svn.code.sf.net/p/netpbm/code/advanced@398 9d0c8265-081b-0410-96cb-a4ca84ce46f8
Diffstat (limited to 'lib')
-rw-r--r--lib/libpam.c23
-rw-r--r--lib/libppm1.c3
2 files changed, 15 insertions, 11 deletions
diff --git a/lib/libpam.c b/lib/libpam.c
index 362c1159..db8ff205 100644
--- a/lib/libpam.c
+++ b/lib/libpam.c
@@ -549,16 +549,20 @@ process_header_line(char                const buffer[],
             pamP->maxval = atoi(value);
             headerSeenP->maxval = TRUE;
         } else if (strcmp(label, "TUPLTYPE") == 0) {
-            int len = strlen(pamP->tuple_type);
-            if (len + strlen(value) + 1 > sizeof(pamP->tuple_type)-1)
-                pm_error("TUPLTYPE value too long in PAM header");
-            if (len == 0)
-                strcpy(pamP->tuple_type, value);
+            if (strlen(value) == 0)
+                pm_error("TUPLTYPE header does not have any tuple type text");
             else {
-                strcat(pamP->tuple_type, "\n");
-                strcat(pamP->tuple_type, value);
+                size_t const oldLen = strlen(pamP->tuple_type);
+                if (oldLen + strlen(value) + 1 > sizeof(pamP->tuple_type)-1)
+                    pm_error("TUPLTYPE value too long in PAM header");
+                if (oldLen == 0)
+                    strcpy(pamP->tuple_type, value);
+                else {
+                    strcat(pamP->tuple_type, " ");
+                    strcat(pamP->tuple_type, value);
+                }
+                pamP->tuple_type[sizeof(pamP->tuple_type)-1] = '\0';
             }
-            pamP->tuple_type[sizeof(pamP->tuple_type)-1] = '\0';
         } else 
             pm_error("Unrecognized header line: '%s'.  "
                      "Possible missing ENDHDR line?", label);
@@ -708,12 +712,11 @@ pnm_readpaminitrestaspnm(FILE * const fileP,
     case 1:
         *formatP = RPGM_FORMAT;
         break;
-    default: {
+    default:
         pm_error("Cannot treat PAM image as PPM or PGM, "
                  "because its depth (%u) "
                  "is not 1 or 3.", pam.depth);
     }
-    }
 
     *colsP   = pam.width;
     *rowsP   = pam.height;
diff --git a/lib/libppm1.c b/lib/libppm1.c
index a7ea78cf..425f2ab1 100644
--- a/lib/libppm1.c
+++ b/lib/libppm1.c
@@ -135,7 +135,8 @@ ppm_readppminit(FILE *   const fileP,
 
     case PBM_TYPE:
         *formatP = realFormat;
-        *maxvalP = 1;
+        /* See comment in pgm_readpgminit() about this maxval */
+        *maxvalP = PPM_MAXMAXVAL;
         pbm_readpbminitrest(fileP, colsP, rowsP);
         break;