
{
{ Clp$get_fs_path_elements assumes that the path_handle_name it receives
{ as input represents a path_handle, i.e. it can be converted to an
{ fmt$path_handle.
{

  PROCEDURE [INLINE] clp$get_fs_path_elements
    (    path_handle_name: amt$local_file_name;
     VAR evaluated_file_reference: fst$evaluated_file_reference;
     VAR status: ost$status);

?? PUSH (LISTEXT := ON) ??

    VAR
      cl_path_handle: clt$path_handle,
      ignore_status: ost$status;

    status.normal := TRUE;

    clp$check_name_for_path_handle (path_handle_name, cl_path_handle);
    IF cl_path_handle.kind = clc$command_file_handle THEN
      osp$set_status_abnormal ('CL', cle$inappropriate_cmnd_file_ref, '',
            status);
      RETURN;
    IFEND;

    bap$get_path_elements (cl_path_handle.regular_handle,
          evaluated_file_reference, status);
    IF NOT status.normal THEN
      osp$generate_log_message ($pmt$ascii_logset [pmc$job_log], status,
            ignore_status);
      osp$set_status_abnormal ('CL', cle$system_error, '', status);
    IFEND;

  PROCEND clp$get_fs_path_elements;

*copyc amt$local_file_name
*copyc cle$ecc_command_processing
*copyc cle$ecc_file_reference
*copyc fst$evaluated_file_reference
*copyc pmd$system_log_interface
?? POP ??
*copyc bap$get_path_elements
*copyc clp$check_name_for_path_handle
*copyc osp$generate_log_message
*copyc osp$set_status_abnormal
