
  PROCEDURE [INLINE] pfp$build_fmd_pointer
    (    fmd_locator: pft$fmd_locator;
         p_catalog_file: {input^} pft$p_catalog_file;
     VAR p_physical_fmd: {output} pft$p_physical_fmd);

?? PUSH (LISTEXT := ON) ??

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

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

  PROCEND pfp$build_fmd_pointer;

*copyc pft$fmd_locator
*copyc pft$p_catalog_file
*copyc pft$p_physical_fmd
*copyc pft$p_sequence
?? POP ??
