3 @deftypefn Supplemental char* strdup (const char *@var{s})
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.
13 #ifdef ANSI_PROTOTYPES
16 #define size_t unsigned long
19 extern size_t strlen
PARAMS ((const char*));
20 extern PTR malloc
PARAMS ((size_t));
21 extern PTR memcpy
PARAMS ((PTR
, const PTR
, size_t));
27 size_t len
= strlen (s
) + 1;
28 char *result
= (char*) malloc (len
);
29 if (result
== (char*) 0)
31 return (char*) memcpy (result
, s
, len
);