xref: /freebsd/contrib/ntp/libntp/strdup.c (revision 224ba2bd37e182b64f7d78defef8a6cacaad3415)
1224ba2bdSOllivier Robert 
2224ba2bdSOllivier Robert #define NULL 0
3224ba2bdSOllivier Robert 
4224ba2bdSOllivier Robert char *
5224ba2bdSOllivier Robert strdup(
6224ba2bdSOllivier Robert 	const char *s
7224ba2bdSOllivier Robert 	)
8224ba2bdSOllivier Robert {
9224ba2bdSOllivier Robert         char *cp;
10224ba2bdSOllivier Robert 
11224ba2bdSOllivier Robert         if (s) {
12224ba2bdSOllivier Robert                 cp = (char *) malloc((unsigned) (strlen(s)+1));
13224ba2bdSOllivier Robert                 if (cp) {
14224ba2bdSOllivier Robert                         (void) strcpy(cp, s);
15224ba2bdSOllivier Robert 		}
16224ba2bdSOllivier Robert         } else {
17224ba2bdSOllivier Robert                 cp = (char *) NULL;
18224ba2bdSOllivier Robert 	}
19224ba2bdSOllivier Robert         return(cp);
20224ba2bdSOllivier Robert }
21