projects
/
deliverable
/
binutils-gdb.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
gdb: add target_ops::supports_displaced_step
[deliverable/binutils-gdb.git]
/
libiberty
/
strdup.c
diff --git
a/libiberty/strdup.c
b/libiberty/strdup.c
index a01cedfbee03359de1dda64646283dba5f7f0acc..78c2093b61a3d05c758c9c14814ef38eb468633b 100644
(file)
--- a/
libiberty/strdup.c
+++ b/
libiberty/strdup.c
@@
-3,19
+3,25
@@
@deftypefn Supplemental char* strdup (const char *@var{s})
Returns a pointer to a copy of @var{s} in memory obtained from
@deftypefn Supplemental char* strdup (const char *@var{s})
Returns a pointer to a copy of @var{s} in memory obtained from
-@code{malloc}, or
NULL
if insufficient memory was available.
+@code{malloc}, or
@code{NULL}
if insufficient memory was available.
@end deftypefn
*/
@end deftypefn
*/
+#include <ansidecl.h>
+#include <stddef.h>
+
+extern size_t strlen (const char*);
+extern PTR malloc (size_t);
+extern PTR memcpy (PTR, const PTR, 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)
;
}
}
This page took
0.024144 seconds
and
4
git commands to generate.