Add file-access-time-direct, file-access-time-indirect,
authorGuillermo J. Rozas <edu/mit/csail/zurich/gjr>
Thu, 17 Sep 1992 00:41:34 +0000 (00:41 +0000)
committerGuillermo J. Rozas <edu/mit/csail/zurich/gjr>
Thu, 17 Sep 1992 00:41:34 +0000 (00:41 +0000)
file-access-time, and set-file-times!

v7/src/runtime/dosprm.scm

index 1da2865b23cd08283b8ee28aabe2f0d693bbf932..84ec45a0591814e709a014e9ee6158804b1da4ac 100644 (file)
@@ -1,6 +1,6 @@
 #| -*-Scheme-*-
 
-$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/runtime/dosprm.scm,v 1.9 1992/07/07 00:44:27 jinx Exp $
+$Id: dosprm.scm,v 1.10 1992/09/17 00:41:34 jinx Exp $
 
 Copyright (c) 1992 Massachusetts Institute of Technology
 
@@ -133,6 +133,28 @@ MIT in each case. |#
 
 (define file-modification-time
   file-modification-time-indirect)
+
+;; These are obviously incorrect, but there is no alternative.
+;; DOS only keeps track of modification times.
+
+(define file-access-time-direct
+  file-modification-time-direct)
+
+(define file-access-time-indirect
+  file-modification-time-indirect)
+
+(define file-access-time
+  file-modification-time)
+
+(define (set-file-times! filename access-time modification-time)
+  (let ((filename (->namestring (merge-pathnames filename)))
+       (time (or modification-time
+                 access-time
+                 (file-modification-time-direct filename))))
+    ((ucode-primitive set-file-times!)
+     filename
+     (or access-time time)
+     (or modification-time time))))
 \f
 (define get-environment-variable)
 (define set-environment-variable!)