
  PROCEDURE [INLINE] nlp$bm_get_message_length
    (    message_id: nlt$bm_message_id;
     VAR message_length: integer);

?? PUSH (LISTEXT := ON) ??
?? RIGHT := 110 ??

    VAR
      descriptor: ^nlt$bm_message_descriptor;

    message_length := 0;

    IF (message_id.descriptor <> NIL)
{ } AND (message_id.sequence_number = message_id.descriptor^.sequence_number) THEN
      descriptor := message_id.descriptor;
      REPEAT
        message_length := message_length + descriptor^.container_length - descriptor^.data_start;
        descriptor := descriptor^.link;
      UNTIL descriptor = NIL;
    ELSEIF message_id <> nlv$bm_null_message_id THEN { Invalid message_id.
      nap$namve_system_error (FALSE, nlv$bm_buffer_manager_caller, NIL);
    IFEND;
  PROCEND nlp$bm_get_message_length;

*copyc nlh$bm_get_message_length

*copyc nlt$bm_message_id
*copyc nap$namve_system_error
*copyc nlv$bm_buffer_manager_caller
*copyc nlv$bm_null_message_id
?? POP ??
