1*2b15cb3dSCy Schubert #include <config.h> 2*2b15cb3dSCy Schubert 3*2b15cb3dSCy Schubert #include <string.h> 4ce265a54SOllivier Robert #include "ntp_malloc.h" 5ce265a54SOllivier Robert 6*2b15cb3dSCy Schubert #ifndef HAVE_STRDUP 7224ba2bdSOllivier Robert 8ce265a54SOllivier Robert char *strdup(const char *s); 9ce265a54SOllivier Robert 10224ba2bdSOllivier Robert char * 11224ba2bdSOllivier Robert strdup( 12224ba2bdSOllivier Robert const char *s 13224ba2bdSOllivier Robert ) 14224ba2bdSOllivier Robert { 15*2b15cb3dSCy Schubert size_t octets; 16224ba2bdSOllivier Robert char * cp; 17224ba2bdSOllivier Robert 18224ba2bdSOllivier Robert if (s) { 19*2b15cb3dSCy Schubert octets = 1 + strlen(s); 20*2b15cb3dSCy Schubert cp = malloc(octets); 21*2b15cb3dSCy Schubert if (NULL != cp) 22*2b15cb3dSCy Schubert memcpy(cp, s, octets); 23*2b15cb3dSCy Schubert else 24*2b15cb3dSCy Schubert cp = NULL; 25*2b15cb3dSCy Schubert 26224ba2bdSOllivier Robert return(cp); 27224ba2bdSOllivier Robert } 28ce265a54SOllivier Robert #else 29*2b15cb3dSCy Schubert int strdup_c_nonempty_compilation_unit; 30ce265a54SOllivier Robert #endif 31