X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;ds=sidebyside;f=contrib%2Fsb-posix%2Finterface.lisp;h=0995a1d23c20cf2057885d942d4391ac6a64d9f1;hb=7c75cd363da90afe334e936aad2b63437ea5905d;hp=eff9ce7978c4e870a6624a7bcafb6488b5682f15;hpb=a3282da5cd4d2e9793a4def7738e544b813eed01;p=sbcl.git diff --git a/contrib/sb-posix/interface.lisp b/contrib/sb-posix/interface.lisp index eff9ce7..0995a1d 100644 --- a/contrib/sb-posix/interface.lisp +++ b/contrib/sb-posix/interface.lisp @@ -126,6 +126,15 @@ (define-call* "unlink" int minusp (pathname filename)) (define-call #-netbsd "opendir" #+netbsd "_opendir" (* t) null-alien (pathname filename)) +#+inode64 +(define-call ("readdir" :c-name "readdir$INODE64" :options :largefile) + (* dirent) + ;; readdir() has the worst error convention in the world. It's just + ;; too painful to support. (return is NULL _and_ errno "unchanged" + ;; is not an error, it's EOF). + not + (dir (* t))) +#-inode64 (define-call (#-netbsd "readdir" #+netbsd "_readdir" :options :largefile) (* dirent) ;; readdir() has the worst error convention in the world. It's just