void FreeChunkList ( dllist * list ) { dlnode * node, *nodeNext ; for ( node = dllist_First ( (dllist*) list ) ; node ; node = nodeNext ) { nodeNext = dlnode_Next ( node ) ; _Mem_ChunkFree ( ( MemChunk* ) node ) ; } }
void FreeChunkList ( DLList * list ) { DLNode * node, *nodeNext ; for ( node = DLList_First ( list ) ; node ; node = nodeNext ) { MemChunk * mchunk = (MemChunk*) node ; nodeNext = DLNode_Next ( node ) ; _Mem_ChunkFree ( mchunk ) ; } }
void FreeNbaList ( NamedByteArray * nba ) { dllist * list = & nba->NBA_BaList ; dlnode * node, *nodeNext ; for ( node = dllist_First ( (dllist*) list ) ; node ; node = nodeNext ) { nodeNext = dlnode_Next ( node ) ; dlnode_Remove ( node ) ; // remove BA_Symbol from nba->NBA_BaList cf. _NamedByteArray_AddNewByteArray MemChunk* mchunk = ( MemChunk* ) ( ( Symbol * ) node )->S_Value ; nba->TotalAllocSize -= mchunk->S_ChunkSize ; _Mem_ChunkFree ( mchunk ) ; } }
void Mem_FreeItem ( DLList * mList, byte * item ) { DLNode * node, *nodeNext ; for ( node = DLList_First ( mList ) ; node ; node = nodeNext ) { MemChunk * mchunk = (MemChunk*) node ; nodeNext = DLNode_Next ( node ) ; if ( (byte*) mchunk->S_pb_Data == item ) { _Mem_ChunkFree ( mchunk ) ; return ; } } }