merge from gcc
This commit is contained in:
parent
5dd55bddfe
commit
eec539c779
2 changed files with 20 additions and 5 deletions
|
@ -1,3 +1,7 @@
|
|||
2003-04-14 Roger Sayle <roger@eyesopen.com>
|
||||
|
||||
* strdup.c (strdup): Tweak implementation to use memcpy.
|
||||
|
||||
2003-04-14 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||||
|
||||
* configure.in (HAVE_UINTPTR_T): Always define.
|
||||
|
|
|
@ -9,13 +9,24 @@ Returns a pointer to a copy of @var{s} in memory obtained from
|
|||
|
||||
*/
|
||||
|
||||
#include <ansidecl.h>
|
||||
#ifdef ANSI_PROTOTYPES
|
||||
#include <stddef.h>
|
||||
#else
|
||||
#define size_t unsigned long
|
||||
#endif
|
||||
|
||||
extern size_t strlen PARAMS ((const char*));
|
||||
extern PTR malloc PARAMS ((size_t));
|
||||
extern PTR memcpy PARAMS ((PTR, const PTR, size_t));
|
||||
|
||||
char *
|
||||
strdup(s)
|
||||
char *s;
|
||||
{
|
||||
char *result = (char*)malloc(strlen(s) + 1);
|
||||
if (result == (char*)0)
|
||||
return (char*)0;
|
||||
strcpy(result, s);
|
||||
return result;
|
||||
size_t len = strlen (s) + 1;
|
||||
char *result = (char*) malloc (len);
|
||||
if (result == (char*) 0)
|
||||
return (char*) 0;
|
||||
return (char*) memcpy (result, s, len);
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue