
  PROCEDURE [INLINE] pfp$build_file_label_pointer
    (    file_label_locator: pft$file_label_locator;
         p_catalog_file: {input^} pft$p_catalog_file;
     VAR p_file_label: {output} pft$p_stored_file_label);

?? PUSH (LISTEXT := ON) ??

    VAR
      p_sequence_record: pft$p_sequence_record,
      p_sequence: pft$p_sequence;

    IF (file_label_locator.file_label_size = 0) THEN
      p_file_label := NIL;
    ELSE
      p_sequence_record := #PTR (file_label_locator.relative_cell_pointer,
            p_catalog_file^);
      p_sequence := ^p_sequence_record^.sequence;
      RESET p_sequence;
      NEXT p_file_label: [[REP file_label_locator.file_label_size OF cell]] IN
            p_sequence;
    IFEND;

  PROCEND pfp$build_file_label_pointer;

*copyc pft$file_label_locator
*copyc pft$p_catalog_file
*copyc pft$p_sequence
*copyc pft$p_sequence_record
*copyc pft$p_stored_file_label
?? POP ??
