From 9aa6219759fa25966212328d24a4d1420434de8f Mon Sep 17 00:00:00 2001 From: Eduardo Cavazos Date: Thu, 6 Mar 2008 12:04:20 -0600 Subject: [PATCH 1/3] unix.stat: add lstat* --- extra/unix/stat/stat.factor | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/extra/unix/stat/stat.factor b/extra/unix/stat/stat.factor index 204321f30c..6d60caf987 100644 --- a/extra/unix/stat/stat.factor +++ b/extra/unix/stat/stat.factor @@ -74,3 +74,8 @@ FUNCTION: int mkdir ( char* path, mode_t mode ) ; "stat" dup >r stat check-status r> ; + +: lstat* ( pathname -- stat ) + "stat" dup >r + lstat check-status + r> ; From 56919b42af6d41a701c5ef55de51cd4b8a58ac72 Mon Sep 17 00:00:00 2001 From: Eduardo Cavazos Date: Thu, 6 Mar 2008 12:04:54 -0600 Subject: [PATCH 2/3] io.files: link-info --- core/io/files/files.factor | 1 + 1 file changed, 1 insertion(+) diff --git a/core/io/files/files.factor b/core/io/files/files.factor index b51d767069..899a1be006 100755 --- a/core/io/files/files.factor +++ b/core/io/files/files.factor @@ -54,6 +54,7 @@ TUPLE: no-parent-directory path ; TUPLE: file-info type size permissions modified ; HOOK: file-info io-backend ( path -- info ) +HOOK: link-info io-backend ( path -- info ) SYMBOL: +regular-file+ SYMBOL: +directory+ From 724041c31d5ea3525ef9aa397ed621273c06937e Mon Sep 17 00:00:00 2001 From: Eduardo Cavazos Date: Thu, 6 Mar 2008 12:05:47 -0600 Subject: [PATCH 3/3] io.unix.files: add link-info unix backend --- extra/io/unix/files/files.factor | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/extra/io/unix/files/files.factor b/extra/io/unix/files/files.factor index db3cf674c7..4142c4be77 100755 --- a/extra/io/unix/files/files.factor +++ b/extra/io/unix/files/files.factor @@ -89,3 +89,12 @@ M: unix-io file-info ( path -- info ) [ stat-st_mtim timespec-sec seconds unix-1970 time+ ] } cleave \ file-info construct-boa ; + +M: unix-io link-info ( path -- info ) + lstat* { + [ stat>type ] + [ stat-st_size ] + [ stat-st_mode ] + [ stat-st_mtim timespec-sec seconds unix-1970 time+ ] + } cleave + \ file-info construct-boa ;