home *** CD-ROM | disk | FTP | other *** search
Text File | 1992-11-08 | 800 b | 39 lines | [TEXT/MPS ] |
- procedure FileNameUnixToMac(fn)
- local newfn,p,full
- if not find("/",fn) then return fn
- newfn := ""
- if full := match("/",fn) then fn[1] := ""
- fn ? until pos(0) do {
- p := tab(find("/") | 0)
- newfn ||:= case p of {
- "" | ".": ""
- "..": ":"
- default: ":" || p
- }
- move(1)
- }
- if newfn[-1] == ":" then newfn ||:= ":"
- else if fn[-1] == "/" then newfn ||:= ":"
- if \full then newfn[1] := ""
- return newfn
- end
-
-
- procedure FileNameMacToUnix(fn)
- local newfn
- if not find(":",fn) then return fn
- if fn[1] == ":" then {
- fn[1] := ""
- newfn := ""
- }
- else newfn := "/"
- fn ? until pos(0) do {
- while move(1) == ":" do newfn ||:= "../"
- if pos(0) then break
- newfn ||:= tab(find(":") | 0) || "/"
- move(1)
- }
- newfn[-1] := ""
- return newfn
- end
-