
  PROCEDURE [INLINE] rap$get_file_path
    (    path_ref_p: ^fst$file_reference;
     VAR sequence_p: {input, output} ^SEQ ( * );
     VAR path_p: ^pft$path;
     VAR status: ost$status);

?? PUSH (LISTEXT := ON) ??
?? RIGHT := 110 ??

    VAR
      evaluated_file_reference: fst$evaluated_file_reference,
      path_string: fst$path,
      path_string_size: fst$path_size;

    clp$evaluate_file_reference (path_ref_p^, $clt$file_ref_parsing_options [clc$use_$local_as_working_cat],
          FALSE, evaluated_file_reference, status);
    IF NOT status.normal THEN
      RETURN; {----->
    IFEND;

    clp$convert_file_ref_to_string (evaluated_file_reference, FALSE, path_string, path_string_size, status);
    IF NOT status.normal THEN
      RETURN; {----->
    IFEND;

    NEXT path_p: [1 .. evaluated_file_reference.number_of_path_elements] IN sequence_p;
    fsp$convert_fs_structure_to_pf (evaluated_file_reference, path_p);

  PROCEND rap$get_file_path;

{ PURPOSE:
{   This procedure takes the value of a PDT file parameter and
{   returns the value using two different Cybil variable formats.
{   Both variables are used in tailored release file processing.
{
{ DESIGN:
{   The file variables must be created in a sequence, so that they will survive
{   outside the scope of this procedure.  A pointer to the sequence and the
{   PDT file
{   parameter name are passed in.  Pointers to the two file variables are
{   passed out.
{
{ NOTES:
{

*copyc fst$file_reference
*copyc ost$status
*copyc pft$path
*copyc clp$convert_file_ref_to_string
*copyc clp$evaluate_file_reference
*copyc fsp$convert_fs_structure_to_pf
?? POP ??

