/* $Id: strdup.c,v 1.4 2002/10/29 04:45:42 rex Exp $ */ /* * COPYRIGHT: See COPYING in the top level directory * PROJECT: ReactOS POSIX+ Subsystem * FILE: subsys/psx/lib/psxdll/string/strdup.c * PURPOSE: Duplicate a string * PROGRAMMER: KJK::Hyperion * UPDATE HISTORY: * 21/01/2002: Created */ #include #include #include char *strdup(const char *s1) { char *pchRetBuf; int nStrLen; HINT("strdup() is inefficient - consider dropping zero-terminated strings"); if (s1 == 0) return 0; nStrLen = strlen(s1); /* allocate enough buffer space for s1 and the null terminator */ pchRetBuf = (char *) malloc(nStrLen + 1); if (pchRetBuf == 0) /* memory allocation failed */ return 0; /* copy the string */ strcpy(pchRetBuf, s1); return pchRetBuf; } /* EOF */