From db28061d0bd07127910872cf426004992ff486e2 Mon Sep 17 00:00:00 2001 From: Chris Hanson Date: Sun, 23 Apr 1995 05:10:07 +0000 Subject: [PATCH] Implement ENCODE-FILE-TIME. --- v7/src/runtime/os2prm.scm | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/v7/src/runtime/os2prm.scm b/v7/src/runtime/os2prm.scm index 6fe9d9de4..ece0a3419 100644 --- a/v7/src/runtime/os2prm.scm +++ b/v7/src/runtime/os2prm.scm @@ -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)))) -- 2.25.1