
  PROCEDURE [INLINE] pfp$build_amd_pointer
    (    amd_locator: pft$amd_locator;
         p_catalog_file: pft$p_catalog_file;
     VAR p_physical_amd: pft$p_physical_amd);

?? PUSH (LISTEXT := ON) ??

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

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

  PROCEND pfp$build_amd_pointer;

*copyc pft$amd_locator
*copyc pft$p_catalog_file
*copyc pft$p_physical_amd
*copyc pft$p_sequence
*copyc pft$p_sequence_record
?? POP ??
