projects
/
binutils-gdb.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Automatic date update in version.in
[binutils-gdb.git]
/
libiberty
/
strdup.c
diff --git
a/libiberty/strdup.c
b/libiberty/strdup.c
index 49233ba7aac99603030a43264b5e7ea8b08149d3..8a4188eadfbcdf487fac3d28a56e5296d2548087 100644
(file)
--- a/
libiberty/strdup.c
+++ b/
libiberty/strdup.c
@@
-9,13
+9,19
@@
Returns a pointer to a copy of @var{s} in memory obtained from
*/
*/
+#include <ansidecl.h>
+#include <stddef.h>
+
+extern size_t strlen (const char*);
+extern void *malloc (size_t);
+extern void *memcpy (void *, const void *, size_t);
+
char *
char *
-strdup(s)
- char *s;
+strdup(const 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)
;
}
}