| 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; |