2001-05-28 Philip Blundell <philb@gnu.org>
[binutils.git] / libiberty / xmemdup.c
blobfdb17a547f3a9b1ceeb803f5517c578f15fa71bd
1 /* xmemdup.c -- Duplicate a memory buffer, using xcalloc.
2 This trivial function is in the public domain.
3 Jeff Garzik, September 1999. */
5 #ifdef HAVE_CONFIG_H
6 #include "config.h"
7 #endif
8 #include "ansidecl.h"
9 #include "libiberty.h"
11 #include <sys/types.h> /* For size_t. */
12 #ifdef HAVE_STRING_H
13 #include <string.h>
14 #endif
16 PTR
17 xmemdup (input, copy_size, alloc_size)
18 const PTR input;
19 size_t copy_size;
20 size_t alloc_size;
22 PTR output = xcalloc (1, alloc_size);
23 memcpy (output, input, copy_size);
24 return output;