xref: /freebsd/contrib/ntp/sntp/libopts/compat/strdup.c (revision 416ba5c74546f32a993436a99516d35008e9f384)
1ea906c41SOllivier Robert /*
2ea906c41SOllivier Robert  * Platforms without strdup ?!?!?!
3ea906c41SOllivier Robert  */
4ea906c41SOllivier Robert 
5ea906c41SOllivier Robert static char *
6*2b15cb3dSCy Schubert strdup( char const *s );
7*2b15cb3dSCy Schubert 
8*2b15cb3dSCy Schubert static char *
strdup(char const * s)9ea906c41SOllivier Robert strdup( char const *s )
10ea906c41SOllivier Robert {
11ea906c41SOllivier Robert     char *cp;
12ea906c41SOllivier Robert 
13ea906c41SOllivier Robert     if (s == NULL)
14ea906c41SOllivier Robert         return NULL;
15ea906c41SOllivier Robert 
16ea906c41SOllivier Robert     cp = (char *) AGALOC((unsigned) (strlen(s)+1), "strdup");
17ea906c41SOllivier Robert 
18ea906c41SOllivier Robert     if (cp != NULL)
19ea906c41SOllivier Robert         (void) strcpy(cp, s);
20ea906c41SOllivier Robert 
21ea906c41SOllivier Robert     return cp;
22ea906c41SOllivier Robert }
23