1 /* 2 * Copyright (c) 1988 The Regents of the University of California. 3 * All rights reserved. 4 * 5 * %sccs.include.redist.c% 6 */ 7 8 #if defined(LIBC_SCCS) && !defined(lint) 9 static char sccsid[] = "@(#)strdup.c 5.5 (Berkeley) 12/02/92"; 10 #endif /* LIBC_SCCS and not lint */ 11 12 #include <sys/types.h> 13 14 #include <stddef.h> 15 #include <stdlib.h> 16 #include <string.h> 17 18 char * 19 strdup(str) 20 const char *str; 21 { 22 size_t len; 23 char *copy; 24 25 len = strlen(str) + 1; 26 if (!(copy = malloc((u_int)len))) 27 return (NULL); 28 bcopy(str, copy, len); 29 return (copy); 30 } 31