diff options
author | Ollivier Robert <roberto@FreeBSD.org> | 2013-12-04 21:33:17 +0000 |
---|---|---|
committer | Ollivier Robert <roberto@FreeBSD.org> | 2013-12-04 21:33:17 +0000 |
commit | 2b45e011ca352ce509bc83ae148230aeee0c7e0d (patch) | |
tree | a618007bb41d13153794a598e3d904ace2976324 /libntp/strdup.c | |
parent | 9b5bd0a264b0a21eefac2b929b574c73bd601507 (diff) |
Notes
Diffstat (limited to 'libntp/strdup.c')
-rw-r--r-- | libntp/strdup.c | 30 |
1 files changed, 16 insertions, 14 deletions
diff --git a/libntp/strdup.c b/libntp/strdup.c index 2e26ba7a51e4..f7565a2fb8f7 100644 --- a/libntp/strdup.c +++ b/libntp/strdup.c @@ -1,8 +1,9 @@ -#include "ntp_malloc.h" +#include <config.h> -#if !HAVE_STRDUP +#include <string.h> +#include "ntp_malloc.h" -#define NULL 0 +#ifndef HAVE_STRDUP char *strdup(const char *s); @@ -11,18 +12,19 @@ strdup( const char *s ) { - char *cp; + size_t octets; + char * cp; + + if (s) { + octets = 1 + strlen(s); + cp = malloc(octets); + if (NULL != cp) + memcpy(cp, s, octets); + else + cp = NULL; - if (s) { - cp = (char *) malloc((unsigned) (strlen(s)+1)); - if (cp) { - (void) strcpy(cp, s); - } - } else { - cp = (char *) NULL; - } - return(cp); + return(cp); } #else -int strdup_bs; +int strdup_c_nonempty_compilation_unit; #endif |