void JKG_Pairs_Clear(KeyPairSet_t *set){ int i; for(i = 0; i<set->count; i++){ G_Free(set->pairs[i].key); G_Free(set->pairs[i].value); } JKG_Arrays_RemoveAllElements((void **)&set->pairs); set->count = 0; }
void G_TerminateMemory( void ) { // Called in G_ShutdownGame, frees all allocations // Must be done to avoid memory leaking through map changes unsigned int i; for (i=0; i<BlockCount; i++) { #ifndef __linux__ (int)MemBlocks[i].ptr -= 4; #else { // linux doesnt like -= 4 on pointers >.> int tmp = (int)MemBlocks[i].ptr; tmp -= 4; MemBlocks[i].ptr = (void *)tmp; } #endif trap_TrueFree(&MemBlocks[i].ptr); } BlockCount = 0; JKG_Arrays_RemoveAllElements(&MemBlocks); }