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>
|
2003-04-14 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||||||
|
|
||||||
* configure.in (HAVE_UINTPTR_T): Always define.
|
* 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 *
|
char *
|
||||||
strdup(s)
|
strdup(s)
|
||||||
char *s;
|
char *s;
|
||||||
{
|
{
|
||||||
char *result = (char*)malloc(strlen(s) + 1);
|
size_t len = strlen (s) + 1;
|
||||||
if (result == (char*)0)
|
char *result = (char*) malloc (len);
|
||||||
return (char*)0;
|
if (result == (char*) 0)
|
||||||
strcpy(result, s);
|
return (char*) 0;
|
||||||
return result;
|
return (char*) memcpy (result, s, len);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue