• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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 */
xcalloc(size_t n_elem,size_t sz)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
xmemdup(void const * input,size_t copy_size,size_t alloc_size)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