Home | History | Annotate | Download | only in libutil
      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