1.0.4.2: really commit darwin sb-posix fixes
authorCyrus Harmon <ch-sbcl@bobobeach.com>
Mon, 26 Mar 2007 02:23:05 +0000 (02:23 +0000)
committerCyrus Harmon <ch-sbcl@bobobeach.com>
Mon, 26 Mar 2007 02:23:05 +0000 (02:23 +0000)
 * 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
contrib/sb-posix/posix-tests.lisp
version.lisp-expr

index bae76f4..f1d25ba 100644 (file)
               (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)
index 02dee2b..a0c17b7 100644 (file)
          ;; 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))
     (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))))
index dfb585b..8ed9c1c 100644 (file)
@@ -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"