source: branches/libc-0.6/src/gcc/libiberty/xstrdup.c

Last change on this file was 2, checked in by bird, 22 years ago

Initial revision

  • Property cvs2svn:cvs-rev set to 1.1
  • Property svn:eol-style set to native
  • Property svn:executable set to *
File size: 657 bytes
Line 
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
9Duplicates a character string without fail, using @code{xmalloc} to
10obtain 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
26char *
27xstrdup (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}
Note: See TracBrowser for help on using the repository browser.