Subversion Repositories Kolibri OS

Rev

Blame | Last modification | View Log | RSS feed

  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. #ifdef HAVE_CONFIG_H
  17. #include "config.h"
  18. #endif
  19. #include <sys/types.h>
  20. #ifdef HAVE_STRING_H
  21. #include <string.h>
  22. #else
  23. # ifdef HAVE_STRINGS_H
  24. #  include <strings.h>
  25. # endif
  26. #endif
  27. #include "ansidecl.h"
  28. #include "libiberty.h"
  29.  
  30. char *
  31. xstrdup (const char *s)
  32. {
  33.   register size_t len = strlen (s) + 1;
  34.   register char *ret = XNEWVEC (char, len);
  35.   return (char *) memcpy (ret, s, len);
  36. }
  37.