diff options
Diffstat (limited to 'contrib/binutils/libiberty/xstrdup.c')
-rw-r--r-- | contrib/binutils/libiberty/xstrdup.c | 16 |
1 files changed, 11 insertions, 5 deletions
diff --git a/contrib/binutils/libiberty/xstrdup.c b/contrib/binutils/libiberty/xstrdup.c index 9d08bc704055..6f846cfea156 100644 --- a/contrib/binutils/libiberty/xstrdup.c +++ b/contrib/binutils/libiberty/xstrdup.c @@ -2,16 +2,22 @@ This trivial function is in the public domain. Ian Lance Taylor, Cygnus Support, December 1995. */ +#include <sys/types.h> +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif +#ifdef HAVE_STRING_H +#include <string.h> +#endif #include "ansidecl.h" #include "libiberty.h" char * xstrdup (s) - const char *s; + const char *s; { - char *ret; - - ret = xmalloc (strlen (s) + 1); - strcpy (ret, s); + register size_t len = strlen (s) + 1; + register char *ret = xmalloc (len); + memcpy (ret, s, len); return ret; } |