1 /* ----------------------------------------------------------------------------
3 * ----------------------------------------------------------------------------
4 * Public Domain C Library - http://pdclib.sourceforge.net
5 * This code is Public Domain. Use, modify, and redistribute at will.
6 * --------------------------------------------------------------------------*/
8 void free( void * ptr ) { /* TODO */ };
10 /* Thomas "Beyond Infinity" Kreitner's code - unchecked, unoptimized
14 chunk = used_mem.start;
19 } while ( ( chunk != NULL ) && ( chunk->address != ptr ) );
20 if ( chunk->address == ptr )
22 if( used_mem.start->next->next == NULL )
24 /* used_mem list has only one entry */
25 chunk = used_mem.start->next;
26 used_mem.last = used_mem.start;
28 else if ( chunk == used_mem.last )
30 /* chunk is the last element of used_mem list */
31 prev_chunk->next = NULL;
32 used_mem.last = prev_chunk;
36 /* chunk is neither only nor last in the used_mem list */
37 prev_chunk->next = prev_chunk->next->next;
40 free_mem.last->next = chunk;
41 free_mem.last = chunk;