void FreeImage( image_entry *image ) { image_entry **owner; image_entry *curr; map_entry *head; map_entry *next; for( owner = &DbgImageList; (curr = *owner) != NULL; owner = &curr->link ) { if( curr == image ) { if( curr == ImageEntry( ContextMod ) ) { ContextMod = NO_MOD; } if( curr == ImageEntry( CodeAddrMod ) ) { CodeAddrMod = NO_MOD; } VarUnMapScopes( curr ); UnMapPoints( curr ); *owner = curr->link; for( head = curr->map_list; head != NULL; head = next ) { next = head->link; _Free( head ); } _Free( curr->symfile_name ); _Free( curr ); break; } } }
void SaveBreaksToFile( const char *name ) { UnMapPoints( NULL ); CreateInvokeFile( name, ShowBPs ); ReMapPoints( NULL ); }