You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

28 lines
562 B

25 years ago
/*
@deftypefn Supplemental char* strdup (const char *@var{s})
Returns a pointer to a copy of @var{s} in memory obtained from
25 years ago
@code{malloc}, or @code{NULL} if insufficient memory was available.
25 years ago
@end deftypefn
*/
24 years ago
#include <ansidecl.h>
#include <stddef.h>
22 years ago
extern size_t strlen (const char*);
extern PTR malloc (size_t);
extern PTR memcpy (PTR, const PTR, size_t);
24 years ago
char *
22 years ago
strdup(const char *s)
{
24 years ago
size_t len = strlen (s) + 1;
char *result = (char*) malloc (len);
if (result == (char*) 0)
return (char*) 0;
return (char*) memcpy (result, s, len);
}