2008-12-14 21:03:00 -05:00
|
|
|
! Copyright (C) 2008 Slava Pestov.
|
|
|
|
! See http://factorcode.org/license.txt for BSD license.
|
2010-01-20 23:42:07 -05:00
|
|
|
USING: io.backend io.files io.files.links io.pathnames kernel
|
|
|
|
sequences system unix unix.ffi ;
|
2008-12-14 21:03:00 -05:00
|
|
|
IN: io.files.links.unix
|
|
|
|
|
|
|
|
M: unix make-link ( path1 path2 -- )
|
2010-01-23 10:07:35 -05:00
|
|
|
normalize-path [ symlink ] unix-system-call drop ;
|
2008-12-14 21:03:00 -05:00
|
|
|
|
2009-04-28 23:51:35 -04:00
|
|
|
M: unix make-hard-link ( path1 path2 -- )
|
2010-01-23 10:07:35 -05:00
|
|
|
normalize-path [ link ] unix-system-call drop ;
|
2009-04-28 23:51:35 -04:00
|
|
|
|
2008-12-14 21:03:00 -05:00
|
|
|
M: unix read-link ( path -- path' )
|
2008-12-18 19:32:00 -05:00
|
|
|
normalize-path read-symbolic-link ;
|
2009-02-18 14:34:45 -05:00
|
|
|
|
2009-10-28 18:25:50 -04:00
|
|
|
M: unix resolve-symlinks ( path -- path' )
|
2009-02-18 14:34:45 -05:00
|
|
|
path-components "/"
|
|
|
|
[ append-path dup exists? [ follow-links ] when ] reduce ;
|