* doc/c-tree.texi, doc/contrib.texi, doc/extend.texi,
[official-gcc.git] / libiberty / xstrdup.c
blob6f846cfea156849c0f8e3f22ccecfb67a54fa23a
1 /* xstrdup.c -- Duplicate a string in memory, using xmalloc.
2 This trivial function is in the public domain.
3 Ian Lance Taylor, Cygnus Support, December 1995. */
5 #include <sys/types.h>
6 #ifdef HAVE_CONFIG_H
7 #include "config.h"
8 #endif
9 #ifdef HAVE_STRING_H
10 #include <string.h>
11 #endif
12 #include "ansidecl.h"
13 #include "libiberty.h"
15 char *
16 xstrdup (s)
17 const char *s;
19 register size_t len = strlen (s) + 1;
20 register char *ret = xmalloc (len);
21 memcpy (ret, s, len);
22 return ret;