diff options
author | DJ Delorie <dj@redhat.com> | 2005-03-25 04:27:21 +0000 |
---|---|---|
committer | DJ Delorie <dj@redhat.com> | 2005-03-25 04:27:21 +0000 |
commit | 51e32d644ad69408eacefacd21e015a6c9c519c2 (patch) | |
tree | 0be909d739e50b4e267565b0480ab13af23d2ea6 /libiberty | |
parent | 695a4822ce79fd4f6d0964091c61e070ff77a189 (diff) | |
download | binutils-gdb-51e32d644ad69408eacefacd21e015a6c9c519c2.tar.gz |
merge from gcc
Diffstat (limited to 'libiberty')
-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 0ab2ec9abf9..231bab3897d 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 9e9d66b715d..0dae37d8923 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 5aa084a7687..5ddd2e98a93 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); } |