18 lines
567 B
Factor
18 lines
567 B
Factor
! Copyright (C) 2009 Doug Coleman.
|
|
! See http://factorcode.org/license.txt for BSD license.
|
|
USING: alien.c-types alien.data classes.struct fry
|
|
io.directories io.directories.unix kernel libc math sequences
|
|
system unix.ffi ;
|
|
IN: io.directories.unix.linux
|
|
|
|
: next-dirent ( DIR* dirent* -- dirent* ? )
|
|
f void* <ref> [
|
|
readdir64_r [ (throw-errno) ] unless-zero
|
|
] 2keep void* deref ; inline
|
|
|
|
M: linux (directory-entries) ( path -- seq )
|
|
[
|
|
dirent <struct>
|
|
'[ _ _ next-dirent ] [ >directory-entry ] produce nip
|
|
] with-unix-directory ;
|