
  PROCEDURE [INLINE] nlp$al_initialize_data_descrip
    (    data: nat$data_fragments;
         data_length: nat$data_length;
     VAR data_description: nlt$al_data_description);

?? PUSH (LISTEXT := ON) ??
*copy nlh$al_initialize_data_descrip

    VAR
      data_p: ^nat$data_fragment,
      i: integer,
      j: integer;

    data_description.data_length := data_length;
    data_description.current_lowerbound := 1;
    j := 0;
    FOR i := LOWERBOUND (data) TO UPPERBOUND (data) DO
      data_p := ^data [i];
      IF (data_p^.length > 0) AND (data_p^.address <> NIL) THEN
        j := j + 1;
        data_description.fragment [j] := data_p^;
      IFEND;
    FOREND;

    FOR i := (j + 1) TO UPPERBOUND (data_description.fragment) DO
      data_description.fragment [i].length := 0;
    FOREND;

  PROCEND nlp$al_initialize_data_descrip;

*copyc nlt$al_data_description
?? POP ??
