
  PROCEDURE [INLINE] ofp$format_operator_message
    (    operator_message: ost$status_message;
         starting_line: oft$number_of_displayable_lines;
     VAR formatted_message: oft$formatted_operator_message;
     VAR line_count: oft$number_of_displayable_lines);

?? PUSH (LISTEXT := ON) ??

    VAR
      line_count_p: ^ost$status_message_line_count,
      line_number: ost$status_message_line_count,
      line_size_p: ^ost$status_message_line_size,
      message_line_p: ^ost$status_message_line,
      operator_message_p: ^ost$status_message;

    operator_message_p := ^operator_message;
    RESET operator_message_p;

    FOR line_number := starting_line TO ofc$max_menu_lines DO
      formatted_message [line_number] := ' ';
    FOREND;

    NEXT line_count_p IN operator_message_p;
    IF line_count_p^ <= ofc$max_menu_lines - (starting_line - 1) THEN
      line_count := line_count_p^;
    ELSE
      line_count := ofc$max_menu_lines - (starting_line - 1);
    IFEND;
    IF line_count > 0 THEN
      FOR line_number := starting_line TO (starting_line - 1) + line_count DO
        NEXT line_size_p IN operator_message_p;
        NEXT message_line_p: [line_size_p^] IN operator_message_p;
        formatted_message [line_number] := message_line_p^ (2, *);
      FOREND;
    IFEND;
    line_count := line_count + starting_line - 1;

  PROCEND ofp$format_operator_message;

*copyc oft$formatted_operator_message
*copyc ost$status_message
?? POP ??
