Mercurial > hg > CbC > CbC_gcc
comparison libiberty/strdup.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 /* | |
2 | |
3 @deftypefn Supplemental char* strdup (const char *@var{s}) | |
4 | |
5 Returns a pointer to a copy of @var{s} in memory obtained from | |
6 @code{malloc}, or @code{NULL} if insufficient memory was available. | |
7 | |
8 @end deftypefn | |
9 | |
10 */ | |
11 | |
12 #include <ansidecl.h> | |
13 #include <stddef.h> | |
14 | |
15 extern size_t strlen (const char*); | |
16 extern PTR malloc (size_t); | |
17 extern PTR memcpy (PTR, const PTR, size_t); | |
18 | |
19 char * | |
20 strdup(const char *s) | |
21 { | |
22 size_t len = strlen (s) + 1; | |
23 char *result = (char*) malloc (len); | |
24 if (result == (char*) 0) | |
25 return (char*) 0; | |
26 return (char*) memcpy (result, s, len); | |
27 } |