Generator/RB_Generate_Item_Line_Number [ Functions ]

FUNCTION

Generate line numbers for SOURCE like items

SYNOPSIS

void RB_Generate_Item_Line_Number(
    FILE *dest_doc,
    int line_number,
    int max_lines )

INPUTS

SOURCE

{
    // First check if we should generate line numbers at all
    if ( course_of_action.do_source_line_numbers )
    {
        char                fmt[TEMP_BUF_SIZE], str[TEMP_BUF_SIZE];
        int                 len;

        // produce the maximal line number as a string
        snprintf( str, sizeof( str ), "%d", max_lines );
        // get the length of the maximal line number
        len = strlen( str );
        // create the formatting string for the line numbers
        snprintf( fmt, sizeof( fmt ), "%%%dd ", len );
        // and create the line number as a string
        snprintf( str, sizeof( str ), fmt, line_number );

        // handle the various output modes
        switch ( output_mode )
        {
        case ASCII:
            RB_ASCII_Generate_Item_Line_Number( dest_doc, str );
            break;

        case HTML:
            RB_HTML_Generate_Item_Line_Number( dest_doc, str );
            break;

        case LATEX:
            RB_LaTeX_Generate_Item_Line_Number( dest_doc, str );
            break;

        case RTF:
            RB_RTF_Generate_Item_Line_Number( dest_doc, str );
            break;

        case TROFF:
            RB_TROFF_Generate_Item_Line_Number( dest_doc, str );
            break;

        case XMLDOCBOOK:
            RB_XMLDB_Generate_Item_Line_Number( dest_doc, str );
            break;

        default:
            break;
        }
    }
}