From 0d1056d441a1fa50b1fb9dfa2b8ea660bf179a3a Mon Sep 17 00:00:00 2001 From: Cyrus Harmon Date: Mon, 26 Mar 2007 02:23:05 +0000 Subject: [PATCH] 1.0.4.2: really commit darwin sb-posix fixes * see commit log message for 1.0.4.1. the sb-posix files didn't get properly committed. * in short, revert sb-posix st_atime, st_mtime, and st_ctime behavior to the way it was before I tried to fix things for the x86-64/darwin port. --- contrib/sb-posix/constants.lisp | 11 ++++++++--- contrib/sb-posix/posix-tests.lisp | 25 ++----------------------- version.lisp-expr | 2 +- 3 files changed, 11 insertions(+), 27 deletions(-) diff --git a/contrib/sb-posix/constants.lisp b/contrib/sb-posix/constants.lisp index bae76f4..f1d25ba 100644 --- a/contrib/sb-posix/constants.lisp +++ b/contrib/sb-posix/constants.lisp @@ -318,9 +318,14 @@ (uid-t uid "uid_t" "st_uid") (gid-t gid "gid_t" "st_gid") (off-t size "off_t" "st_size") - (alien-timespec atime "struct timespec" "st_atime") - (alien-timespec mtime "struct timespec" "st_mtime") - (alien-timespec ctime "struct timespec" "st_ctime"))) + + (time-t atime "time_t" "st_atime") + (time-t mtime "time_t" "st_mtime") + (time-t ctime "time_t" "st_ctime") + + #+foo (alien-timespec atime "struct timespec" "st_atime") + #+foo (alien-timespec mtime "struct timespec" "st_mtime") + #+foo (alien-timespec ctime "struct timespec" "st_ctime"))) ;; open() (:integer o-rdonly "O_RDONLY" nil t) diff --git a/contrib/sb-posix/posix-tests.lisp b/contrib/sb-posix/posix-tests.lisp index 02dee2b..a0c17b7 100644 --- a/contrib/sb-posix/posix-tests.lisp +++ b/contrib/sb-posix/posix-tests.lisp @@ -235,8 +235,7 @@ ;; FIXME: (encode-universal-time 00 00 00 01 01 1970) (unix-now (- now 2208988800)) (stat (sb-posix:stat *test-directory*)) - #+darwin (atime (sb-alien:slot (sb-posix:stat-atime stat) 'sb-posix::tv-sec)) - #-darwin (atime (sb-posix::stat-atime stat))) + (atime (sb-posix::stat-atime stat))) ;; FIXME: breaks if mounted noatime :-( #+nil (< (- atime unix-now) 10) (< (- atime unix-now) 10)) @@ -490,27 +489,7 @@ (plusp (sb-posix:time)) t) -;;; CLH: FIXME! For darwin atime and mtime return a timespec. This -;;; _should_ work, but it doesn't. For some reason mtime is always -;;; 0. Comment the mtime test out for the moment. -#+darwin -(deftest utime.1 - (let ((file (merge-pathnames #p"utime.1" *test-directory*)) - (atime (random (1- (expt 2 31)))) - (mtime (random (1- (expt 2 31))))) - (with-open-file (stream file - :direction :output - :if-exists :supersede - :if-does-not-exist :create) - (princ "Hello, utime" stream)) - (sb-posix:utime file atime mtime) - (let* ((stat (sb-posix:stat file))) - (delete-file file) - (list (= (sb-alien:slot (sb-posix:stat-atime stat) 'sb-posix::tv-sec) atime) - #+nil (= (sb-alien:slot (sb-posix:stat-mtime stat) 'sb-posix::tv-sec) mtime)))) - (t #+nil t)) - -#-(or win32 darwin) +#-win32 (deftest utimes.1 (let ((file (merge-pathnames #p"utimes.1" *test-directory*)) (atime (random (1- (expt 2 31)))) diff --git a/version.lisp-expr b/version.lisp-expr index dfb585b..8ed9c1c 100644 --- a/version.lisp-expr +++ b/version.lisp-expr @@ -17,4 +17,4 @@ ;;; checkins which aren't released. (And occasionally for internal ;;; versions, especially for internal versions off the main CVS ;;; branch, it gets hairier, e.g. "0.pre7.14.flaky4.13".) -"1.0.4.1" +"1.0.4.2" -- 1.7.10.4