version 1.1 | | version 1.2 |
---|
| | |
* Files for debugging memory allocator | | * Files for debugging memory allocator |
* | | * |
* $Log$ | | * $Log$ |
* Revision 1.1 1999/06/14 22:13:45 donut | | * Revision 1.2 1999/10/14 04:48:21 donut |
* Initial revision | | * alpha fixes, and gl_font args |
| | * |
| | * Revision 1.1.1.1 1999/06/14 22:13:45 donut |
| | * Import of d1x 1.37 source. |
* | | * |
* Revision 1.18 1995/01/24 20:49:18 matt | | * Revision 1.18 1995/01/24 20:49:18 matt |
* Made some stuff return when get errors | | * Made some stuff return when get errors |
| | |
| | |
void * mem_malloc( unsigned int size, char * var, char * filename, int line, int fill_zero ) | | void * mem_malloc( unsigned int size, char * var, char * filename, int line, int fill_zero ) |
{ | | { |
unsigned int base; | | size_t base; |
int i, id; | | int i, id; |
void *ptr; | | void *ptr; |
char * pc; | | char * pc; |
int * data; | | ssize_t * data; |
| | |
if (Initialized==0) | | if (Initialized==0) |
mem_init(); | | mem_init(); |
| | |
Int3(); | | Int3(); |
} | | } |
| | |
base = (unsigned int)ptr; | | base = (size_t)ptr; |
if ( base < SmallestAddress ) SmallestAddress = base; | | if ( base < SmallestAddress ) SmallestAddress = base; |
if ( (base+size) > LargestAddress ) LargestAddress = base+size; | | if ( (base+size) > LargestAddress ) LargestAddress = base+size; |
| | |
//edited 05/17/99 Matt Mueller - use pointer vars/formats instead of typecasting to int | | //edited 05/17/99 Matt Mueller - use pointer vars/formats instead of typecasting to int |
MallocBase[id] = ptr; | | MallocBase[id] = ptr; |
//end edit -MM | | //end edit -MM |
data = (int *)((int)MallocBase[id]-4); | | data = (ssize_t *)((ssize_t)MallocBase[id]-4); |
MallocRealSize[id] = *data; | | MallocRealSize[id] = *data; |
MallocSize[id] = size; | | MallocSize[id] = size; |
Varname[id] = var; | | Varname[id] = var; |
| | |
| | |
void * mem_realloc( void *ptr, unsigned int size, char * var, char * filename, int line, int fill_zero ) { | | void * mem_realloc( void *ptr, unsigned int size, char * var, char * filename, int line, int fill_zero ) { |
int id, i; | | int id, i; |
int *data; | | ssize_t *data; |
if (!ptr) | | if (!ptr) |
return mem_malloc(size,var,filename,line,fill_zero); | | return mem_malloc(size,var,filename,line,fill_zero); |
id = mem_find_id(ptr); | | id = mem_find_id(ptr); |
| | |
//edited 05/17/99 Matt Mueller - use pointer vars/formats instead of typecasting to int | | //edited 05/17/99 Matt Mueller - use pointer vars/formats instead of typecasting to int |
MallocBase[id] = ptr; | | MallocBase[id] = ptr; |
//end edit -MM | | //end edit -MM |
data = (int *)((int)MallocBase[id]-4); | | data = (ssize_t *)((ssize_t)MallocBase[id]-4); |
MallocRealSize[id] = *data; | | MallocRealSize[id] = *data; |
Filename[id] = filename; | | Filename[id] = filename; |
Line[id] = line; | | Line[id] = line; |