/*! Returns True iff the specified cup is the first incomplete cup \author jfpatry \date Created: 2000-09-24 \date Modified: 2000-09-24 */ bool_t is_cup_first_incomplete_cup( event_data_t *event_data, list_elem_t cup ) { list_elem_t elem = get_last_complete_cup_for_event( event_data ); if ( elem == NULL ) { if ( cup == get_list_head( event_data->cup_list ) ) { return True; } else { return False; } } elem = get_next_list_elem( event_data->cup_list, elem ); if ( elem == NULL ) { /* All cups complete */ return False; } if ( cup == elem ) { return True; } else { return False; } }
/*! Returns True iff the cup is complete \author jfpatry \date Created: 2000-09-24 \date Modified: 2000-09-24 */ bool_t is_cup_complete( event_data_t *event_data, list_elem_t cup ) { list_elem_t cur_elem; list_elem_t last_complete_cup = get_last_complete_cup_for_event( event_data ); if ( last_complete_cup == NULL ) { return False; } if ( cup == last_complete_cup ) { return True; } cur_elem = get_prev_list_elem( event_data->cup_list, cup ); while (1) { if ( cur_elem == NULL ) { return True; } if ( cur_elem == last_complete_cup ) { return False; } cur_elem = get_prev_list_elem( event_data->cup_list, cur_elem ); } }
static void set_cur_cup_to_first_incomplete( event_data_t *event_data, list_t cup_list ) { cur_cup = get_last_complete_cup_for_event( event_data ); if ( cur_cup == NULL ) { cur_cup = get_list_head( cup_list ); } else if ( cur_cup != get_list_tail( cup_list ) ) { cur_cup = get_next_list_elem( cup_list, cur_cup ); } }