mc/src/mad.h
Pavel Machek 4706638b22 Big merge: fish now uses proper caching, small fixes almost
everywhere. I hope I did not break it too much.
1998-11-21 19:36:01 +00:00

55 lines
1.2 KiB
C

#ifndef __MAD_H
#define __MAD_H
/* To prevent molesting these files with the malloc/calloc/free macros. */
#include <stdlib.h>
#include <malloc.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 tempnam(x,y) mad_tempnam (x, y)
#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);
char *mad_tempnam (char *s1, char *s2);
#else
#define mad_finalize(x, y)
#define mad_check(file,line)
#endif /* HAVE_MAD */
#endif /* __MAD_H */