/* Remove breakpoint with the given ID */ int debugger_breakpoint_remove( size_t id ) { debugger_breakpoint *bp; bp = get_breakpoint_by_id( id ); if( !bp ) return 1; debugger_breakpoints = g_slist_remove( debugger_breakpoints, bp ); if( debugger_mode == DEBUGGER_MODE_ACTIVE && !debugger_breakpoints ) debugger_mode = DEBUGGER_MODE_INACTIVE; /* If this was a timed breakpoint, remove the event as well */ if( bp->type == DEBUGGER_BREAKPOINT_TYPE_TIME ) { struct remove_t remove; remove.tstates = bp->value.time.tstates; remove.done = 0; event_foreach( remove_time, &remove ); } free( bp ); return 0; }
static void tape_save_next_edge( void ) { event_foreach( save_next_tape_edge, NULL ); }