buildtools/legacy/binutils/libiberty/xstrdup.c
Oliver Tappe 0aa3a3d9db * updated binutils to 2.17, most problems should be solved now...
except one: the binaries produced by this version of binutils crashes the loader of
  BeOS versions BONE, Dano (and probably Zeta, too). That's a pity, but I currently
  do not know how to fix this (as the fix available for older versions of binutils
  does not work anymore).



git-svn-id: file:///srv/svn/repos/haiku/buildtools/trunk@20192 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-21 21:17:52 +00:00

37 lines
720 B
C

/* xstrdup.c -- Duplicate a string in memory, using xmalloc.
This trivial function is in the public domain.
Ian Lance Taylor, Cygnus Support, December 1995. */
/*
@deftypefn Replacement char* xstrdup (const char *@var{s})
Duplicates a character string without fail, using @code{xmalloc} to
obtain memory.
@end deftypefn
*/
#include <sys/types.h>
#ifdef HAVE_CONFIG_H
#include "config.h"
#endif
#ifdef HAVE_STRING_H
#include <string.h>
#else
# ifdef HAVE_STRINGS_H
# include <strings.h>
# endif
#endif
#include "ansidecl.h"
#include "libiberty.h"
char *
xstrdup (const char *s)
{
register size_t len = strlen (s) + 1;
register char *ret = XNEWVEC (char, len);
return (char *) memcpy (ret, s, len);
}