diff options
-rw-r--r-- | libiberty/ChangeLog | 4 | ||||
-rw-r--r-- | libiberty/xmemdup.c | 7 | ||||
-rw-r--r-- | libiberty/xstrdup.c | 7 |
3 files changed, 14 insertions, 4 deletions
diff --git a/libiberty/ChangeLog b/libiberty/ChangeLog index 0ab2ec9..231bab3 100644 --- a/libiberty/ChangeLog +++ b/libiberty/ChangeLog @@ -1,3 +1,7 @@ +2005-03-24 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> + + * xmemdup.c, xstrdup.c: Expose the tail call. + 2005-03-09 Mark Mitchell <mark@codesourcery.com> * configure.ac (funcs): Add gettimeofday. diff --git a/libiberty/xmemdup.c b/libiberty/xmemdup.c index 9e9d66b..0dae37d 100644 --- a/libiberty/xmemdup.c +++ b/libiberty/xmemdup.c @@ -24,6 +24,10 @@ allocated, the remaining memory is zeroed. #include <sys/types.h> /* For size_t. */ #ifdef HAVE_STRING_H #include <string.h> +#else +# ifdef HAVE_STRINGS_H +# include <strings.h> +# endif #endif PTR @@ -33,6 +37,5 @@ xmemdup (input, copy_size, alloc_size) size_t alloc_size; { PTR output = xcalloc (1, alloc_size); - memcpy (output, input, copy_size); - return output; + return (PTR) memcpy (output, input, copy_size); } diff --git a/libiberty/xstrdup.c b/libiberty/xstrdup.c index 5aa084a..5ddd2e9 100644 --- a/libiberty/xstrdup.c +++ b/libiberty/xstrdup.c @@ -19,6 +19,10 @@ obtain memory. #endif #ifdef HAVE_STRING_H #include <string.h> +#else +# ifdef HAVE_STRINGS_H +# include <strings.h> +# endif #endif #include "ansidecl.h" #include "libiberty.h" @@ -29,6 +33,5 @@ xstrdup (s) { register size_t len = strlen (s) + 1; register char *ret = xmalloc (len); - memcpy (ret, s, len); - return ret; + return (char *) memcpy (ret, s, len); } |