2013-12-04 21:33:17 +00:00
|
|
|
#include <config.h>
|
2002-10-29 19:58:12 +00:00
|
|
|
|
2015-07-01 03:12:13 +00:00
|
|
|
#include <ntp_assert.h>
|
2013-12-04 21:33:17 +00:00
|
|
|
#include "ntp_malloc.h"
|
2015-07-01 03:12:13 +00:00
|
|
|
#include <string.h>
|
2001-08-29 14:35:15 +00:00
|
|
|
|
2013-12-04 21:33:17 +00:00
|
|
|
#ifndef HAVE_STRDUP
|
2001-08-29 14:35:15 +00:00
|
|
|
|
2002-10-29 19:58:12 +00:00
|
|
|
char *strdup(const char *s);
|
|
|
|
|
2001-08-29 14:35:15 +00:00
|
|
|
char *
|
|
|
|
strdup(
|
|
|
|
const char *s
|
|
|
|
)
|
|
|
|
{
|
2013-12-04 21:33:17 +00:00
|
|
|
size_t octets;
|
|
|
|
char * cp;
|
|
|
|
|
2015-07-01 03:12:13 +00:00
|
|
|
REQUIRE(s);
|
|
|
|
octets = strlen(s) + 1;
|
|
|
|
if ((cp = malloc(octets)) == NULL)
|
|
|
|
return NULL;
|
|
|
|
memcpy(cp, s, octets);
|
2001-08-29 14:35:15 +00:00
|
|
|
|
2015-07-01 03:12:13 +00:00
|
|
|
return cp;
|
2001-08-29 14:35:15 +00:00
|
|
|
}
|
2002-10-29 19:58:12 +00:00
|
|
|
#else
|
2013-12-04 21:33:17 +00:00
|
|
|
int strdup_c_nonempty_compilation_unit;
|
2002-10-29 19:58:12 +00:00
|
|
|
#endif
|