;; Author: Shiv Sikand <sikand@users.sourceforge.net>
;; In Cadence Land, the 'simplifyFilename' command returns a
;; local name for a file, usually the 'pwd' name
;; /tmp_mnt/hosts/tower/root/N1/rev1.0
;; However, in order for the interface to work cleanly, we need
;; to return an NFS friendly name that identifies a path thru
;; a common name, usually the $PWD name since that is usually
;; the 'Root' name in the client
;; /user/hwdesign/n1/rev1.0
;; This is one way of restoring the pwd name to the $PWD name
;; if you know the NFS filesystems you are going to use
;; I'm sure there is a better way to do this for generic filesystems
; the regexp functions in Skill are VERY fast, btw.
;; You must have a working version of this routine
;; for your site to get anywhere
procedure(CDS_NFSSimplify(nfilename) ;_Mar 16 00 sikand 228
prog(( filename head )
rexCompile("\\(/hosts/tower/N1\\)")
when( rexExecute(nfilename)
return(rexReplace(nfilename "/user/hwdesign/n1" 1))
)
if( rexMatchp("/user/hwdesign/" nfilename) then
filename = nfilename
else
filename = simplifyFilename(nfilename)
rexCompile("\\#2e")
filename = rexReplace(filename "." 0)
head = car(parseString(filename "/"))
when( head != "hosts" && head != "usr"
return(strcat("/hosts/" CDS_P4Host filename))
)
) ; ** if rexMatchp **
return(filename)
) ; ** prog **
) ; ** procedure CDS_NFSSimplify **