projects
/
deliverable
/
binutils-gdb.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
ld testsuite fixes for alpha
[deliverable/binutils-gdb.git]
/
libiberty
/
xmemdup.c
diff --git
a/libiberty/xmemdup.c
b/libiberty/xmemdup.c
index d4831163a204fe8e3a9ec5454577f269bd0fc514..4602afd7d9f6acb5e1bc57c2bd5ac3da4e25d5aa 100644
(file)
--- a/
libiberty/xmemdup.c
+++ b/
libiberty/xmemdup.c
@@
-1,10
+1,11
@@
-/* xmemdup.c -- Duplicate a memory buffer, using x
c
alloc.
+/* xmemdup.c -- Duplicate a memory buffer, using x
m
alloc.
This trivial function is in the public domain.
Jeff Garzik, September 1999. */
/*
This trivial function is in the public domain.
Jeff Garzik, September 1999. */
/*
-@deftypefn Replacement void* xmemdup (void *@var{input}, size_t @var{copy_size}, size_t @var{alloc_size})
+@deftypefn Replacement void* xmemdup (void *@var{input}, @
+ size_t @var{copy_size}, size_t @var{alloc_size})
Duplicates a region of memory without fail. First, @var{alloc_size} bytes
are allocated, then @var{copy_size} bytes from @var{input} are copied into
Duplicates a region of memory without fail. First, @var{alloc_size} bytes
are allocated, then @var{copy_size} bytes from @var{input} are copied into
@@
-33,6
+34,8
@@
allocated, the remaining memory is zeroed.
PTR
xmemdup (const PTR input, size_t copy_size, size_t alloc_size)
{
PTR
xmemdup (const PTR input, size_t copy_size, size_t alloc_size)
{
- PTR output = xcalloc (1, alloc_size);
+ PTR output = xmalloc (alloc_size);
+ if (alloc_size > copy_size)
+ memset ((char *) output + copy_size, 0, alloc_size - copy_size);
return (PTR) memcpy (output, input, copy_size);
}
return (PTR) memcpy (output, input, copy_size);
}
This page took
0.028052 seconds
and
4
git commands to generate.