  PROCEDURE [INLINE] fdp$get_message
    (    status_condition_code: ost$status_condition_code;
     VAR message_text: fdt$message_text);

    VAR
      local_status: ost$status,
      message_status: ost$status,
      status_message: ost$status_message,
      status_message_line_count_p: ^ost$status_message_line_count,
      status_message_line_size_p: ^ost$status_message_line_size,
      status_message_p: ^ost$status_message,
      status_message_text_p: ^string ( * );

    osp$set_status_abnormal (fdc$format_display_identifier,
          status_condition_code, '', message_status);
    osp$format_message (message_status, osc$brief_message_level,
          fdc$message_variable_length, status_message, local_status);
    IF local_status.normal THEN
      status_message_p := ^status_message;
      NEXT status_message_line_count_p IN status_message_p;
      NEXT status_message_line_size_p IN status_message_p;
      NEXT status_message_text_p: [status_message_line_size_p^] IN
            status_message_p;
      message_text := status_message_text_p^;
    ELSE
      message_text := '';
    IFEND;

  PROCEND fdp$get_message;

?? PUSH (LISTEXT := ON) ??
*copyc fdt$message_text
*copyc fde$condition_identifiers
*copyc osp$format_message
*copyc osp$set_status_abnormal
?? POP ??
