about summary refs log tree commit diff
path: root/lib/libpbmfont2.c
diff options
context:
space:
mode:
authorgiraffedata <giraffedata@9d0c8265-081b-0410-96cb-a4ca84ce46f8>2018-10-02 15:10:58 +0000
committergiraffedata <giraffedata@9d0c8265-081b-0410-96cb-a4ca84ce46f8>2018-10-02 15:10:58 +0000
commit2dcdf7b8850b6435cd6339f6c77a2e83f52b76f3 (patch)
treee994502a31e93005521a4d058481741fd6b7cf33 /lib/libpbmfont2.c
parent78d7ff61d197ed876cc6e0c31611d8ddcf2a1fe1 (diff)
downloadnetpbm-mirror-2dcdf7b8850b6435cd6339f6c77a2e83f52b76f3.tar.gz
netpbm-mirror-2dcdf7b8850b6435cd6339f6c77a2e83f52b76f3.tar.xz
netpbm-mirror-2dcdf7b8850b6435cd6339f6c77a2e83f52b76f3.zip
cleanup
git-svn-id: http://svn.code.sf.net/p/netpbm/code/trunk@3372 9d0c8265-081b-0410-96cb-a4ca84ce46f8
Diffstat (limited to 'lib/libpbmfont2.c')
-rw-r--r--lib/libpbmfont2.c50
1 files changed, 30 insertions, 20 deletions
diff --git a/lib/libpbmfont2.c b/lib/libpbmfont2.c
index e7189921..74fcd724 100644
--- a/lib/libpbmfont2.c
+++ b/lib/libpbmfont2.c
@@ -653,39 +653,49 @@ static void
 processBdfFontNameLine(Readline     * const readlineP,
                        struct font2 * const font2P) {
 
-    if (font2P->name != NULL)
+    if (font2P->name)  /* We've already processed a FONT line */
         pm_error("Multiple FONT lines in BDF font file");
+    else {
+        char * buffer;
 
-    font2P->name = malloc (MAXBDFLINE+1);
-    if (font2P->name == NULL)
-        pm_error("No memory for font name");
+        MALLOCARRAY(buffer, MAXBDFLINE+1);
 
-    if (readlineP->wordCt == 1)
-        strcpy(font2P->name, "(no name)");
+        if (!buffer)
+            pm_error("Failed to get memory for %u-character font name buffer",
+                     MAXBDFLINE+1);
 
-    else {
-        unsigned int tokenCt;
+        if (readlineP->wordCt == 1)
+            strcpy(buffer, "(no name)");
+
+        else {
+            unsigned int tokenCt;
 
-        font2P->name[0] ='\0';
+            buffer[0] ='\0';
 
-        for (tokenCt=1;
-             tokenCt < ARRAY_SIZE(readlineP->arg) &&
-                 readlineP->arg[tokenCt] != NULL; ++tokenCt) {
-          strcat(font2P->name, " ");
-          strcat(font2P->name, readlineP->arg[tokenCt]);
+            for (tokenCt=1;
+                 tokenCt < ARRAY_SIZE(readlineP->arg) &&
+                     readlineP->arg[tokenCt] != NULL; ++tokenCt) {
+                strcat(buffer, " ");
+                strcat(buffer, readlineP->arg[tokenCt]);
+            }
         }
+        font2P->name = buffer;
     }
 }
 
 
+
 static void
-loadCharsetString(const char * const registry,
-                  const char * const encoding,
-                  char **      const string) {
+loadCharsetString(const char *  const registry,
+                  const char *  const encoding,
+                  const char ** const charsetStringP) {
 
+    char * dest;
     unsigned int inCt, outCt;
-    char * const dest = malloc (strlen(registry) + strlen(encoding) + 1);
-    if (dest == NULL)
+
+    dest = malloc(strlen(registry) + strlen(encoding) + 1);
+
+    if (!dest)
         pm_error("no memory to load CHARSET_REGISTRY and CHARSET_ENCODING "
                "from BDF file");
 
@@ -703,7 +713,7 @@ loadCharsetString(const char * const registry,
     }
 
     dest[outCt] = '\0';
-    *string = dest;
+    *charsetStringP = dest;
 }