merge from gcc
This commit is contained in:
parent
5dd55bddfe
commit
eec539c779
2 changed files with 20 additions and 5 deletions
|
@ -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…
Add table
Add a link
Reference in a new issue