buildtools/gcc/libiberty/strdup.c
Niels Sascha Reedijk 92b3138b83 Import GCC 13.1.0 and dependencies
Updated dependencies:
 * GMP 6.2.1
 * ISL 0.24
 * MPL 1.2.1
 * MPFR 4.1.0

The dependencies were pulled in by running the ./contrib/download_prerequisites script and then
manually removing the symbolic links and archives, and renaming the directories (i.e mv isl-0.24 to isl)
2023-06-18 01:43:18 +01:00

28 lines
572 B
C

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