Mercurial > hg > CbC > CbC_gcc
comparison libiberty/xstrdup.c @ 0:a06113de4d67
first commit
author | kent <kent@cr.ie.u-ryukyu.ac.jp> |
---|---|
date | Fri, 17 Jul 2009 14:47:48 +0900 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
-1:000000000000 | 0:a06113de4d67 |
---|---|
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 } |