]> gitweb.factorcode.org Git - factor.git/blob - basis/io/directories/unix/linux/linux.factor
basis: removing unnecessary method stack effects.
[factor.git] / basis / io / directories / unix / linux / linux.factor
1 ! Copyright (C) 2009 Doug Coleman.
2 ! See http://factorcode.org/license.txt for BSD license.
3 USING: alien.c-types alien.data classes.struct fry
4 io.directories io.directories.unix kernel libc math sequences
5 system unix.ffi ;
6 IN: io.directories.unix.linux
7
8 : next-dirent ( DIR* dirent* -- dirent* ? )
9     f void* <ref> [
10         readdir64_r [ (throw-errno) ] unless-zero
11     ] 2keep void* deref ; inline
12
13 M: linux (directory-entries)
14     [
15         dirent <struct>
16         '[ _ _ next-dirent ] [ >directory-entry ] produce nip
17     ] with-unix-directory ;