Пример #1
0
/*!
 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;
    }
}
Пример #2
0
/*!
 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 );
    }
}
Пример #3
0
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 ); 
    }
}