From c0f9c4aaddcf0a4078e8ce87808ff94b7dba377d Mon Sep 17 00:00:00 2001 From: David Turner Date: Mon, 12 Feb 2007 14:55:03 +0000 Subject: 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 --- src/bdf/bdflib.c | 26 +++++--------------------- 1 file changed, 5 insertions(+), 21 deletions(-) (limited to 'src/bdf/bdflib.c') 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: -- cgit v1.2.1