Headers/RB_Has_Remark_Marker [ Functions ]
FUNCTION
Check if a line starts with a remark marker. This function assumes that the remark marker starts on the first character of the line.
SYNOPSIS
int RB_Has_Remark_Marker( char *lline_buffer )
INPUTS
- lline_buffer -- the line of text.
RESULT
- TRUE -- it starts with a remark marker
- FALSE -- it does not.
SOURCE
{ unsigned int marker = 0; unsigned int marker_found = configuration.remark_markers.number; int found = FALSE; char *space_pos = NULL; space_pos = strchr( lline_buffer, ' ' ); /* Replace the first space on the line with a '\0' * this makes the comparison with the remark markers * much easier. */ if ( space_pos ) { *space_pos = '\0'; } if ( ( ( course_of_action.do_lockheader ) && ( locked_remark_marker == NO_MARKER_LOCKED ) ) || !( course_of_action.do_lockheader ) ) { for ( marker = 0; marker < configuration.remark_markers.number; marker++ ) { if ( RB_Str_Case_Cmp ( lline_buffer, configuration.remark_markers.names[marker] ) == 0 ) { marker_found = marker; found = TRUE; } } } else { if ( RB_Str_Case_Cmp ( lline_buffer, configuration.remark_markers.names[locked_remark_marker] ) == 0 ) { marker_found = marker; found = TRUE; } } if ( found && ( locked_remark_marker == NO_MARKER_LOCKED ) && ( course_of_action.do_lockheader ) ) { assert( marker_found < configuration.remark_markers.number ); locked_remark_marker = marker_found; RB_Say( "remark marker locked on %s\n", SAY_INFO, configuration.remark_markers.names[locked_remark_marker] ); } /* Restore the space we replaced with a '\0' */ if ( space_pos ) { *space_pos = ' '; } return found; }