mirror of
https://github.com/reactos/reactos.git
synced 2024-12-27 09:34:43 +00:00
e5c0c7185e
svn path=/trunk/; revision=2456
45 lines
1 KiB
C
45 lines
1 KiB
C
#ifndef __MAD_H
|
|
#define __MAD_H
|
|
|
|
#ifdef HAVE_MAD
|
|
# define INLINE
|
|
#else
|
|
# ifndef INLINE
|
|
# define INLINE inline
|
|
# endif
|
|
#endif
|
|
|
|
#ifdef HAVE_MAD
|
|
|
|
/* The Memory Allocation Debugging system */
|
|
|
|
/* GNU headers define this as macros */
|
|
#ifdef malloc
|
|
# undef malloc
|
|
#endif
|
|
|
|
#ifdef calloc
|
|
# undef calloc
|
|
#endif
|
|
|
|
#define malloc(x) mad_alloc (x, __FILE__, __LINE__)
|
|
#define calloc(x, y) mad_alloc (x * y, __FILE__, __LINE__)
|
|
#define realloc(x, y) mad_realloc (x, y, __FILE__, __LINE__)
|
|
#define xmalloc(x, y) mad_alloc (x, __FILE__, __LINE__)
|
|
#define strdup(x) mad_strdup (x, __FILE__, __LINE__)
|
|
#define free(x) mad_free (x, __FILE__, __LINE__)
|
|
|
|
void mad_check (char *file, int line);
|
|
void *mad_alloc (int size, char *file, int line);
|
|
void *mad_realloc (void *ptr, int newsize, char *file, int line);
|
|
char *mad_strdup (const char *s, char *file, int line);
|
|
void mad_free (void *ptr, char *file, int line);
|
|
void mad_finalize (char *file, int line);
|
|
#else
|
|
|
|
#define mad_finalize(x, y)
|
|
#define mad_check(file,line)
|
|
|
|
#endif /* HAVE_MAD */
|
|
|
|
#endif /* __MAD_H */
|