From: Rudi S. <ru...@us...> - 2006-01-21 16:51:53
|
Update of /cvsroot/portableaserve/portableaserve/acl-compat/sbcl In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv29801/acl-compat/sbcl Modified Files: acl-excl.lisp Log Message: Fixes, partly sbcl-specific * acl-compat/sbcl/acl-excl.lisp (filesys-type, filesys-inode): use sb-posix instead of sbcl internals * aserve/proxy.cl (write-body-buffers): initialize len to numeric value in all cases Index: acl-excl.lisp =================================================================== RCS file: /cvsroot/portableaserve/portableaserve/acl-compat/sbcl/acl-excl.lisp,v retrieving revision 1.6 retrieving revision 1.7 diff -u -w -r1.6 -r1.7 --- acl-excl.lisp 31 Aug 2004 02:53:16 -0000 1.6 +++ acl-excl.lisp 21 Jan 2006 16:51:45 -0000 1.7 @@ -11,12 +11,11 @@ stream) (defun filesys-type (file-or-directory-name) - (if (eq :directory (sb-unix:unix-file-kind - (namestring file-or-directory-name))) - :directory - (if (probe-file file-or-directory-name) - :file - nil))) + (let ((mode (sb-posix:stat-mode (sb-posix:stat path)))) + (cond + ((sb-posix:s-isreg mode) :file) + ((sb-posix:s-isdir mode) :directory) + (t nil)))) (defmacro atomically (&body forms) `(acl-mp:without-scheduling ,@forms)) @@ -26,11 +25,7 @@ (error "unix-signal not implemented in acl-excl-sbcl.lisp")) (defun filesys-inode (path) - (multiple-value-bind (found ign inode) - (sb-unix::unix-lstat path) - (if found - inode - (error "path ~s does not exist" path)))) + (sb-posix:stat-ino (sb-posix:lstat path))) (defun cl-internal-real-time () (round (/ (get-internal-real-time) internal-time-units-per-second))) |