
  PROCEDURE [INLINE] pfp$validate_password
    (    path: pft$complete_path;
         authority: pft$authority;
         access_password: pft$password;
         p_file_object: pft$p_object;
     VAR status: ost$status);

?? PUSH (LISTEXT := ON) ??
?? RIGHT := 110 ??
{ PURPOSE:
{   The purpose of this procedure is to validate that the access_password
{   parameter matches the password contained in the catalog.  If the passwords
{   do not match, an abnormal status is returned.

    VAR
      fs_path: fst$path,
      fs_path_size: fst$path_size;

    status.normal := TRUE;
    IF (access_password <> p_file_object^.object_entry.password)
{ } AND (($pft$ownership [pfc$family_owner, pfc$system_owner] * authority.ownership) = $pft$ownership []) THEN
      pfp$convert_pf_path_to_fs_path (path, fs_path, fs_path_size);
      osp$set_status_abnormal (pfc$permanent_file_manager_id, pfe$incorrect_password,
            fs_path (1, fs_path_size), status);
    IFEND;

  PROCEND pfp$validate_password;

*copyc ost$status
*copyc pft$authority
*copyc pft$complete_path
*copyc pft$p_object
*copyc pft$password
*copyc osp$set_status_abnormal
*copyc pfp$convert_pf_path_to_fs_path
?? POP ??
