summaryrefslogtreecommitdiff
path: root/src/bdf/bdflib.c
diff options
context:
space:
mode:
authorDavid Turner <david@freetype.org>2007-02-12 14:55:03 +0000
committerDavid Turner <david@freetype.org>2007-02-12 14:55:03 +0000
commitc0f9c4aaddcf0a4078e8ce87808ff94b7dba377d (patch)
tree67249eb38621c8b526c2914ceb63719f5fc1f864 /src/bdf/bdflib.c
parentfe33408f9a8c4c0fd3fa57cb4bd4078b10abafad (diff)
downloadfreetype2-c0f9c4aaddcf0a4078e8ce87808ff94b7dba377d.tar.gz
introduce ft_mem_dup, ft_mem_strdup and ft_mem_strcpyn, and the corresponding
macros to use them (e.g. FT_STRDUP, FT_DUP and FT_STRCPYN) modify the code to use them instead of raw mallocs/strcpy
Diffstat (limited to 'src/bdf/bdflib.c')
-rw-r--r--src/bdf/bdflib.c26
1 files changed, 5 insertions, 21 deletions
diff --git a/src/bdf/bdflib.c b/src/bdf/bdflib.c
index fa3dd2fac..7737e54cb 100644
--- a/src/bdf/bdflib.c
+++ b/src/bdf/bdflib.c
@@ -1253,7 +1253,6 @@
{
unsigned long propid;
hashnode hn;
- int len;
bdf_property_t *prop, *fp;
FT_Memory memory = font->memory;
FT_Error error = BDF_Err_Ok;
@@ -1272,19 +1271,11 @@
/* Delete the current atom if it exists. */
FT_FREE( fp->value.atom );
- if ( value == 0 )
- len = 1;
- else
- len = ft_strlen( value ) + 1;
-
- if ( len > 1 )
+ if ( value && value[0] != 0 )
{
- if ( FT_NEW_ARRAY( fp->value.atom, len ) )
+ if ( FT_STRDUP( fp->value.atom, value ) )
goto Exit;
- FT_MEM_COPY( fp->value.atom, value, len );
}
- else
- fp->value.atom = 0;
break;
case BDF_INTEGER:
@@ -1349,19 +1340,12 @@
switch ( prop->format )
{
case BDF_ATOM:
- if ( value == 0 )
- len = 1;
- else
- len = ft_strlen( value ) + 1;
-
- if ( len > 1 )
+ fp->value.atom = 0;
+ if ( value != 0 && value[0] )
{
- if ( FT_NEW_ARRAY( fp->value.atom, len ) )
+ if ( FT_STRDUP( fp->value.atom, value ) )
goto Exit;
- FT_MEM_COPY( fp->value.atom, value, len );
}
- else
- fp->value.atom = 0;
break;
case BDF_INTEGER: