1 /** 2 * @file op_libiberty.c 3 * Wrapper for libiberty - always use this instead of 4 * libiberty.h 5 * 6 * @remark Copyright 2002 OProfile authors 7 * @remark Read the file COPYING 8 * 9 * @author John Levon 10 * @author Philippe Elie 11 */ 12 13 #include <string.h> 14 15 #include "op_libiberty.h" 16 17 #ifndef HAVE_XCALLOC 18 /* some system have a valid libiberty without xcalloc */ 19 void * xcalloc(size_t n_elem, size_t sz) 20 { 21 void * ptr = xmalloc(n_elem * sz); 22 23 memset(ptr, '\0', n_elem * sz); 24 25 return ptr; 26 } 27 #endif 28 29 #ifndef HAVE_XMEMDUP 30 void * xmemdup (void const * input, size_t copy_size, size_t alloc_size) 31 { 32 void * output = xcalloc(1, alloc_size); 33 34 memcpy(output, input, copy_size); 35 36 return output; 37 } 38 #endif 39