mirror of
https://github.com/MidnightCommander/mc
synced 2025-01-24 12:12:19 +03:00
4706638b22
everywhere. I hope I did not break it too much.
55 lines
1.2 KiB
C
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 */
|