diff options
author | giraffedata <giraffedata@9d0c8265-081b-0410-96cb-a4ca84ce46f8> | 2018-10-02 15:10:58 +0000 |
---|---|---|
committer | giraffedata <giraffedata@9d0c8265-081b-0410-96cb-a4ca84ce46f8> | 2018-10-02 15:10:58 +0000 |
commit | 2dcdf7b8850b6435cd6339f6c77a2e83f52b76f3 (patch) | |
tree | e994502a31e93005521a4d058481741fd6b7cf33 /lib/libpbmfont2.c | |
parent | 78d7ff61d197ed876cc6e0c31611d8ddcf2a1fe1 (diff) | |
download | netpbm-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.c | 50 |
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; } |