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. */ 4 5 /* 6 7 @deftypefn Replacement char* xstrdup (const char *@var{s}) 8 9 Duplicates a character string without fail, using @code{xmalloc} to 10 obtain memory. 11 12 @end deftypefn 13 14 */ 15 16 #include <sys/types.h> 17 #ifdef HAVE_CONFIG_H 18 #include "config.h" 19 #endif 20 #ifdef HAVE_STRING_H 21 #include <string.h> 22 #endif 23 #include "ansidecl.h" 24 #include "libiberty.h" 25 26 char * 27 xstrdup (s) 28 const char *s; 29 { 30 register size_t len = strlen (s) + 1; 31 register char *ret = xmalloc (len); 32 memcpy (ret, s, len); 33 return ret; 34 } 35