2005-10-16 18:33:22 +04:00
/*
* Copyright ( C ) 2001 - 2004 Sistina Software , Inc . All rights reserved .
2007-08-21 20:26:07 +04:00
* Copyright ( C ) 2004 - 2007 Red Hat , Inc . All rights reserved .
2005-10-16 18:33:22 +04:00
*
* This file is part of the device - mapper userspace tools .
*
* This copyrighted material is made available to anyone wishing to use ,
* modify , copy , or redistribute it subject to the terms and conditions
2007-08-21 20:26:07 +04:00
* of the GNU Lesser General Public License v .2 .1 .
2005-10-16 18:33:22 +04:00
*
2007-08-21 20:26:07 +04:00
* You should have received a copy of the GNU Lesser General Public License
2005-10-16 18:33:22 +04:00
* along with this program ; if not , write to the Free Software Foundation ,
* Inc . , 59 Temple Place , Suite 330 , Boston , MA 02111 - 1307 USA
*/
2007-04-27 23:07:43 +04:00
# ifndef _DM_DBG_MALLOC_H
# define _DM_DBG_MALLOC_H
2005-10-16 18:33:22 +04:00
# include <stdlib.h>
# include <string.h>
void * malloc_aux ( size_t s , const char * file , int line ) ;
2005-10-17 02:57:20 +04:00
# define dm_malloc(s) malloc_aux((s), __FILE__, __LINE__)
2005-10-16 18:33:22 +04:00
char * dbg_strdup ( const char * str ) ;
# ifdef DEBUG_MEM
void free_aux ( void * p ) ;
void * realloc_aux ( void * p , unsigned int s , const char * file , int line ) ;
int dump_memory ( void ) ;
void bounds_check ( void ) ;
2005-10-17 02:57:20 +04:00
# define dm_free(p) free_aux(p)
2005-10-16 18:33:22 +04:00
# define dbg_realloc(p, s) realloc_aux(p, s, __FILE__, __LINE__)
# else
2008-05-21 20:14:46 +04:00
# define dm_free(p) do {if (p) free(p); } while (0)
2005-10-16 18:33:22 +04:00
# define dbg_realloc(p, s) realloc(p, s)
# define dump_memory()
# define bounds_check()
# endif
# endif