]> git.ipfire.org Git - thirdparty/gcc.git/blame - libiberty/strdup.c
cp-demangle.c (java_demangle_v3): Pass DMGL_PARAMS to d_demangle.
[thirdparty/gcc.git] / libiberty / strdup.c
CommitLineData
aaa5f039
DD
1/*
2
3@deftypefn Supplemental char* strdup (const char *@var{s})
4
5Returns a pointer to a copy of @var{s} in memory obtained from
7f8fa05d 6@code{malloc}, or @code{NULL} if insufficient memory was available.
aaa5f039
DD
7
8@end deftypefn
9
10*/
11
88702c45
RS
12#include <ansidecl.h>
13#ifdef ANSI_PROTOTYPES
14#include <stddef.h>
15#else
16#define size_t unsigned long
17#endif
18
19extern size_t strlen PARAMS ((const char*));
20extern PTR malloc PARAMS ((size_t));
21extern PTR memcpy PARAMS ((PTR, const PTR, size_t));
22
6599da04
JM
23char *
24strdup(s)
25 char *s;
26{
88702c45
RS
27 size_t len = strlen (s) + 1;
28 char *result = (char*) malloc (len);
29 if (result == (char*) 0)
30 return (char*) 0;
31 return (char*) memcpy (result, s, len);
6599da04 32}