[PATCH:mkfontscale] Replace malloc(strlen); strcpy() calls with strdup
Alan Coopersmith
alan.coopersmith at oracle.com
Sat Jan 19 16:02:53 PST 2013
Signed-off-by: Alan Coopersmith <alan.coopersmith at oracle.com>
---
configure.ac | 1 +
hash.c | 27 ++++++++++++---------------
ident.c | 3 +--
mkfontscale.c | 5 +++--
4 files changed, 17 insertions(+), 19 deletions(-)
diff --git a/configure.ac b/configure.ac
index 4340f99..4c7e599 100644
--- a/configure.ac
+++ b/configure.ac
@@ -27,6 +27,7 @@ AC_INIT([mkfontscale], [1.1.0],
[mkfontscale])
AC_CONFIG_SRCDIR([Makefile.am])
AC_CONFIG_HEADERS([config.h])
+AC_USE_SYSTEM_EXTENSIONS
# Initialize Automake
AM_INIT_AUTOMAKE([foreign dist-bzip2])
diff --git a/hash.c b/hash.c
index c2cf9ca..3adfb68 100644
--- a/hash.c
+++ b/hash.c
@@ -20,6 +20,8 @@
THE SOFTWARE.
*/
+#include "config.h"
+
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
@@ -41,14 +43,11 @@ hash(const char *string)
}
static void
-strcpy_lwr(char *dst, const char *src)
+str_tolower(char *s)
{
- while(1) {
- *dst = tolower(*src);
- if(*src == '\0')
- break;
- src++;
- dst++;
+ while(*s != '\0') {
+ *s = tolower(*s);
+ s++;
}
}
@@ -97,12 +96,11 @@ putHash(HashTablePtr table, char *key, char *value, int prio)
for(bp = table[i]; bp; bp = bp->next) {
if(strcasecmp(bp->key, key) == 0) {
if(prio > bp->prio) {
- keycopy = malloc(strlen(key) + 1);
+ keycopy = strdup(key);
if(keycopy == NULL) goto fail;
- strcpy_lwr(keycopy, key);
- valuecopy = malloc(strlen(value) + 1);
+ str_tolower(keycopy);
+ valuecopy = strdup(value);
if(valuecopy == NULL) goto fail;
- strcpy(valuecopy, value);
free(bp->key);
free(bp->value);
bp->key = keycopy;
@@ -111,14 +109,13 @@ putHash(HashTablePtr table, char *key, char *value, int prio)
return 1;
}
}
- keycopy = malloc(strlen(key) + 1);
+ keycopy = strdup(key);
if(keycopy == NULL)
goto fail;
- strcpy_lwr(keycopy, key);
- valuecopy = malloc(strlen(value) + 1);
+ str_tolower(keycopy);
+ valuecopy = strdup(value);
if(valuecopy == NULL)
goto fail;
- strcpy(valuecopy, value);
bp = malloc(sizeof(HashBucketRec));
if(bp == NULL)
goto fail;
diff --git a/ident.c b/ident.c
index bf54483..4121257 100644
--- a/ident.c
+++ b/ident.c
@@ -315,10 +315,9 @@ pcfIdentify(fontFile *f, char **name)
if(i >= nprops)
goto fail;
- s = malloc(strlen(strings + props[i].value) + 1);
+ s = strdup(strings + props[i].value);
if(s == NULL)
goto fail;
- strcpy(s, strings + props[i].value);
*name = s;
free(strings);
free(props);
diff --git a/mkfontscale.c b/mkfontscale.c
index 5cf5cb9..a67f283 100644
--- a/mkfontscale.c
+++ b/mkfontscale.c
@@ -20,6 +20,8 @@
THE SOFTWARE.
*/
+#include "config.h"
+
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
@@ -896,10 +898,9 @@ doDirectory(const char *dirname_given, int numEncodings, ListPtr encodingsToDo)
BDF_PropertyRec prop;
rc = FT_Get_BDF_Property(face, "FONT", &prop);
if(rc == 0 && prop.type == BDF_PROPERTY_TYPE_ATOM) {
- xlfd_name = malloc(strlen(prop.u.atom) + 1);
+ xlfd_name = strdup(prop.u.atom);
if(xlfd_name == NULL)
goto done;
- strcpy(xlfd_name, prop.u.atom);
}
}
}
--
1.7.9.2
More information about the xorg-devel
mailing list