diff options
author | David Turner <david@freetype.org> | 2007-02-12 14:55:03 +0000 |
---|---|---|
committer | David Turner <david@freetype.org> | 2007-02-12 14:55:03 +0000 |
commit | c0f9c4aaddcf0a4078e8ce87808ff94b7dba377d (patch) | |
tree | 67249eb38621c8b526c2914ceb63719f5fc1f864 /src/bdf/bdflib.c | |
parent | fe33408f9a8c4c0fd3fa57cb4bd4078b10abafad (diff) | |
download | freetype2-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.c | 26 |
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: |