summaryrefslogtreecommitdiff
path: root/libiberty
diff options
context:
space:
mode:
authorDJ Delorie <dj@redhat.com>2005-03-25 04:27:21 +0000
committerDJ Delorie <dj@redhat.com>2005-03-25 04:27:21 +0000
commit51e32d644ad69408eacefacd21e015a6c9c519c2 (patch)
tree0be909d739e50b4e267565b0480ab13af23d2ea6 /libiberty
parent695a4822ce79fd4f6d0964091c61e070ff77a189 (diff)
downloadbinutils-gdb-51e32d644ad69408eacefacd21e015a6c9c519c2.tar.gz
merge from gcc
Diffstat (limited to 'libiberty')
-rw-r--r--libiberty/ChangeLog4
-rw-r--r--libiberty/xmemdup.c7
-rw-r--r--libiberty/xstrdup.c7
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);
}