123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130 |
- #ifndef __Z_ZONE__
- #define __Z_ZONE__
- #ifndef __GNUC__
- #define __attribute__(x)
- #endif
- #ifdef HAVE_CONFIG_H
- #include "config.h"
- #endif
- #include <stdio.h>
- #include <stdlib.h>
- #include <string.h>
- #include <assert.h>
- enum {PU_FREE, PU_STATIC, PU_SOUND, PU_MUSIC, PU_LEVEL, PU_LEVSPEC, PU_CACHE,
- PU_MAX};
- #define PU_PURGELEVEL PU_CACHE
- #ifdef INSTRUMENTED
- #define DA(x,y) ,x,y
- #define DAC(x,y) x,y
- #else
- #define DA(x,y)
- #define DAC(x,y)
- #endif
- void *(Z_Malloc)(size_t size, int tag, void **ptr DA(const char *, int));
- void (Z_Free)(void *ptr DA(const char *, int));
- void (Z_FreeTags)(int lowtag, int hightag DA(const char *, int));
- void (Z_ChangeTag)(void *ptr, int tag DA(const char *, int));
- void (Z_Init)(void);
- void Z_Close(void);
- void *(Z_Calloc)(size_t n, size_t n2, int tag, void **user DA(const char *, int));
- void *(Z_Realloc)(void *p, size_t n, int tag, void **user DA(const char *, int));
- char *(Z_Strdup)(const char *s, int tag, void **user DA(const char *, int));
- void (Z_CheckHeap)(DAC(const char *,int));
- void Z_DumpHistory(char *);
- #ifdef INSTRUMENTED
- #define Z_Free(a) (Z_Free) (a, __FILE__,__LINE__)
- #define Z_FreeTags(a,b) (Z_FreeTags) (a,b, __FILE__,__LINE__)
- #define Z_ChangeTag(a,b) (Z_ChangeTag)(a,b, __FILE__,__LINE__)
- #define Z_Malloc(a,b,c) (Z_Malloc) (a,b,c, __FILE__,__LINE__)
- #define Z_Strdup(a,b,c) (Z_Strdup) (a,b,c, __FILE__,__LINE__)
- #define Z_Calloc(a,b,c,d) (Z_Calloc) (a,b,c,d,__FILE__,__LINE__)
- #define Z_Realloc(a,b,c,d) (Z_Realloc) (a,b,c,d,__FILE__,__LINE__)
- #define Z_CheckHeap() (Z_CheckHeap)(__FILE__,__LINE__)
- #endif
- #ifndef HAVE_LIBDMALLOC
- #undef malloc
- #undef free
- #undef realloc
- #undef calloc
- #undef strdup
- #define malloc(n) Z_Malloc(n,PU_STATIC,0)
- #define free(p) Z_Free(p)
- #define realloc(p,n) Z_Realloc(p,n,PU_STATIC,0)
- #define calloc(n1,n2) Z_Calloc(n1,n2,PU_STATIC,0)
- #define strdup(s) Z_Strdup(s,PU_STATIC,0)
- #else
- #ifdef HAVE_LIBDMALLOC
- #include <dmalloc.h>
- #endif
- #endif
- void Z_ZoneHistory(char *);
- #endif
|