SUBROUTINE unixfi(f1,f2) C----------------------------------------------------------------------- C unixfi : convert VMS file spec to unix path; treat logical names as C environment variables C author : Morgan Burke (TRIUMF) C date : 1992-June-02 C----------------------------------------------------------------------- $$IMPLICIT CHARACTER*(*) f1,f2 CHARACTER*132 Lower_Case,trans CHARACTER*40 env,Upper_Case INTEGER*4 indx,dindx,Lensig,lf1 C make sure f1 isn't already a valid unix path f2 = f1 IF (INDEX(f1,'/') .GT. 0) RETURN lf1 = Lensig(f1) C find logical name indx = INDEX(f1,':') IF (indx .EQ. 0) indx = lf1 + 1 env = Upper_Case(f1(1:indx-1)) C replace dollar signs with underscores dindx = INDEX(env,'$') IF (dindx .GT. 0) env(dindx:dindx) = '_' C compose the full unix path CALL Getenv(env,trans) IF (indx .LT. lf1) THEN f2 = trans(1:Lensig(trans)) // '/' // Lower_Case(f1(indx+1:)) ELSE IF (trans .NE. ' ') THEN f2 = trans ENDIF RETURN END