
  PROCEDURE [INLINE] pfp$build_archive_list_pointer
    (    archive_list_locator: pft$archive_list_locator;
         p_catalog_file: pft$p_catalog_file;
     VAR p_archive_list: pft$p_archive_list);

?? PUSH (LISTEXT := ON) ??

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

    IF archive_list_locator.archive_count = 0 THEN
      p_archive_list := NIL;
    ELSE
      p_sequence_record := #PTR (archive_list_locator.relative_cell_pointer,
            p_catalog_file^);
      p_sequence := ^p_sequence_record^.sequence;
      RESET p_sequence;
      NEXT p_archive_list: [1 .. archive_list_locator.archive_count] IN
            p_sequence;
    IFEND;

  PROCEND pfp$build_archive_list_pointer;

*copyc pft$archive_list_locator
*copyc pft$p_archive_list
*copyc pft$p_catalog_file
*copyc pft$p_sequence
*copyc pft$p_sequence_record
?? POP ??
