X-Git-Url: http://drtracing.org/?a=blobdiff_plain;f=libiberty%2Fxstrdup.c;h=fa12c96a3cd61e8f7ca919d3dd3ef74989871e3b;hb=80d82c196402f6a61aa84452104b9aaed364eb42;hp=6f846cfea156849c0f8e3f22ccecfb67a54fa23a;hpb=27e232885db363fb545fd2f450e72d929e59b8f6;p=deliverable%2Fbinutils-gdb.git diff --git a/libiberty/xstrdup.c b/libiberty/xstrdup.c index 6f846cfea1..fa12c96a3c 100644 --- a/libiberty/xstrdup.c +++ b/libiberty/xstrdup.c @@ -2,22 +2,35 @@ This trivial function is in the public domain. Ian Lance Taylor, Cygnus Support, December 1995. */ -#include +/* + +@deftypefn Replacement char* xstrdup (const char *@var{s}) + +Duplicates a character string without fail, using @code{xmalloc} to +obtain memory. + +@end deftypefn + +*/ + #ifdef HAVE_CONFIG_H #include "config.h" #endif +#include #ifdef HAVE_STRING_H #include +#else +# ifdef HAVE_STRINGS_H +# include +# endif #endif #include "ansidecl.h" #include "libiberty.h" char * -xstrdup (s) - const char *s; +xstrdup (const char *s) { register size_t len = strlen (s) + 1; - register char *ret = xmalloc (len); - memcpy (ret, s, len); - return ret; + register char *ret = XNEWVEC (char, len); + return (char *) memcpy (ret, s, len); }