Headers/RB_Is_End_Marker [ Functions ]
FUNCTION
Scan a line and see if any of the end of a header markers defined in header_markers can be found.
SYNOPSIS
int RB_Is_End_Marker( char *cur_line )
INPUTS
cur_line -- line to be searched.
OUTPUT
none
RESULT
TRUE -- an end header was found FALSE -- none was found.
SOURCE
{ int found = FALSE; unsigned int marker = NO_MARKER; /* For the assert */ char *cur_mchar; char *cur_char; if ( !( course_of_action.do_robo_head ) && ( ( ( course_of_action.do_lockheader ) && ( locked_end_marker == NO_MARKER_LOCKED ) ) || !( course_of_action.do_lockheader ) ) ) { for ( marker = 0; ( marker < configuration.end_markers.number ) && !found; marker++ ) { cur_mchar = configuration.end_markers.names[marker]; cur_char = RB_Skip_Whitespace( cur_line ); if ( *cur_char ) { for ( found = TRUE; *cur_mchar && *cur_char && found; cur_mchar++, cur_char++ ) { if ( tolower( *cur_mchar ) != tolower( *cur_char ) ) { found = FALSE; } } } } } else if ( ( course_of_action.do_lockheader ) && ( locked_end_marker != NO_MARKER_LOCKED ) ) { cur_mchar = configuration.end_markers.names[locked_end_marker]; cur_char = RB_Skip_Whitespace( cur_line ); if ( *cur_char ) { for ( found = TRUE; *cur_mchar && *cur_char && found; cur_mchar++, cur_char++ ) { if ( tolower( *cur_mchar ) != tolower( *cur_char ) ) { found = FALSE; } } } } else { assert( 0 ); } /* Locking on end markers does not work at the moment, * because there can be more than one end marker for * a given language. TODO if ( found && ( course_of_action.do_LOCKHEADER ) && ( locked_end_marker == NO_MARKER_LOCKED ) ) { assert( marker != NO_MARKER ); locked_end_marker = marker - 1; RB_Say( "end marker locked on %s\n", SAY_INFO, end_markers[locked_end_marker] ); } */ return found; }