Implement ENCODE-FILE-TIME.
authorChris Hanson <org/chris-hanson/cph>
Sun, 23 Apr 1995 05:10:07 +0000 (05:10 +0000)
committerChris Hanson <org/chris-hanson/cph>
Sun, 23 Apr 1995 05:10:07 +0000 (05:10 +0000)
v7/src/runtime/os2prm.scm

index 6fe9d9de43bf31113971b8b406c03b449139d53f..ece0a34193dd1819903a7eac18bbbc98fa8dc497 100644 (file)
@@ -1,6 +1,6 @@
 #| -*-Scheme-*-
 
-$Id: os2prm.scm,v 1.14 1995/04/23 03:20:38 cph Exp $
+$Id: os2prm.scm,v 1.15 1995/04/23 05:10:07 cph Exp $
 
 Copyright (c) 1994-95 Massachusetts Institute of Technology
 
@@ -144,6 +144,18 @@ MIT in each case. |#
         (year    (quotient  time 16)))
     (make-decoded-time (* twosecs 2) minutes hours day month (+ 1980 year))))
 
+(define (encode-file-time dt)
+  (let ((f (lambda (i j k) (+ (* i j) k))))
+    (f (f (f (f (f (let ((year (decoded-time/year dt)))
+                    (if (< year 1980)
+                        (error "Can't encode years earlier than 1980:" year))
+                    year)
+                  16 (decoded-time/month dt))
+               32 (decoded-time/day dt))
+            32 (decoded-time/hour dt))
+         64 (decoded-time/minute dt))
+       32 (quotient (decoded-time/second dt) 2))))
+
 (define (file-attributes filename)
   ((ucode-primitive file-info 1)
    (->namestring (merge-pathnames filename))))