3 * (C) Copyright Dec 12 1995, Edmond J. Breen.
5 * This code may be copied for personal, non-profit use only.
17 #define xmalloc(N) EiC_ymalloc(__FILE__,__LINE__,N)
18 #define xcalloc(N,M) EiC_ycalloc(__FILE__,__LINE__,N,M)
19 #define xrealloc(N,M) EiC_yrealloc(__FILE__,__LINE__,N,M)
20 #define xfree(N) EiC_yfree(__FILE__,__LINE__,N)
21 #define xmark(N,M) EiC_ymark(__FILE__,__LINE__,N,M)
22 #define xmemcheck() ymemcheck(__FILE__,__LINE__)
23 #define xdumpnonmark(N,M) EiC_ydumpnonmark(N,M)
25 void EiC_xfreemark(char mark);
26 int xexchmark(char oldmark, char newmark);
29 int EiC_getMemMark(unsigned long item);
30 void EiC_freeMemItem(unsigned long item);
32 void EiC_xalloc_CleanUp(size_t bot, size_t top);
33 size_t EiC_xalloc_NextEntryNum(void);
35 void *EiC_ymalloc(char *file,int lineno, size_t nbytes);
36 void *EiC_ycalloc(char *file,int lineno,size_t nelem,size_t elemsize);
37 void *EiC_yrealloc(char *file,int lineno,void *block, size_t nbytes);
38 void EiC_yfree(char *file,int lineno,void *block);
39 int EiC_ymark(char *file,int lineno,void *block,char mark);
40 void EiC_ydumpnonmark(char *outfile,char mark);
43 extern unsigned long EiC_tot_memory; /* total amount of memory allocated */
44 extern size_t EiC_tot_alloc; /* total number of blocks allocated */
45 extern size_t tot_seen; /* total number of blocks seen */
46 extern char XGMARK; /* memory mark, default = 0 */
51 #define catchItem(X) {size_t x = X; if(tot_seen == x)\
52 printf("\n\tCAUGHT ITEM %lu at %d in %s\n\n",\
53 (unsigned long)x, __LINE__,__FILE__);}
56 #define xmalloc(N) malloc(N)
57 #define xcalloc(N,M) calloc(N,M)
58 #define xrealloc(N,M) realloc(N,M)
59 #define xfree(N) free(N)