Merge branch 'development'
[NeonServV5.git] / src / memoryDebug.h
1 /* memoryDebug.h - NeonServ v5.6
2  * Copyright (C) 2011-2012  Philipp Kreil (pk910)
3  * 
4  * This program is free software: you can redistribute it and/or modify
5  * it under the terms of the GNU General Public License as published by
6  * the Free Software Foundation, either version 3 of the License, or
7  * (at your option) any later version.
8  * 
9  * This program is distributed in the hope that it will be useful,
10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12  * GNU General Public License for more details.
13  * 
14  * You should have received a copy of the GNU General Public License 
15  * along with this program. If not, see <http://www.gnu.org/licenses/>. 
16  */
17 #ifndef _memorydebug_h
18 #define _memorydebug_h
19
20 #define malloc(size) xmalloc (size, __FILE__, __LINE__)
21 #define calloc(elements, size) xcalloc (elements, size, __FILE__, __LINE__)
22 #define strdup(data) xstrdup (data, __FILE__, __LINE__)
23 #define free(mem_ref) xfree(mem_ref)
24
25 #ifndef DND_FUNCTIONS
26 /* MODULAR ACCESSIBLE */ void *xmalloc(unsigned int size, const char *file, unsigned int line);
27 /* MODULAR ACCESSIBLE */ void *xcalloc(unsigned int elements, unsigned int size, const char *file, unsigned int line);
28 /* MODULAR ACCESSIBLE */ char *xstrdup(const char *data, const char *file, unsigned int line);
29 /* MODULAR ACCESSIBLE */ void xfree(void *mem_ref);
30
31 void initMemoryDebug();
32 #endif
33 #endif