2009-05-07 17:53:32 -04:00
|
|
|
! Copyright (C) 2009 Doug Coleman.
|
|
|
|
! See http://factorcode.org/license.txt for BSD license.
|
2014-04-29 16:38:27 -04:00
|
|
|
USING: alien.c-types alien.data classes.struct fry
|
|
|
|
io.directories io.directories.unix kernel libc math sequences
|
|
|
|
system unix.ffi ;
|
2009-05-07 17:53:32 -04:00
|
|
|
IN: io.directories.unix.linux
|
|
|
|
|
2014-04-29 16:22:56 -04:00
|
|
|
: next-dirent ( DIR* dirent* -- dirent* ? )
|
|
|
|
f void* <ref> [
|
2014-11-21 13:19:12 -05:00
|
|
|
readdir64_r [ (throw-errno) ] unless-zero
|
2014-04-29 16:22:56 -04:00
|
|
|
] 2keep void* deref ; inline
|
|
|
|
|
|
|
|
M: linux (directory-entries) ( path -- seq )
|
|
|
|
[
|
2014-04-29 17:02:30 -04:00
|
|
|
dirent <struct>
|
2014-04-29 16:22:56 -04:00
|
|
|
'[ _ _ next-dirent ] [ >directory-entry ] produce nip
|
|
|
|
] with-unix-directory ;
|