~ chicken-core (chicken-5) cd7d9d6cf1ac0fb2ec1a02a9c23362edd72797ac


commit cd7d9d6cf1ac0fb2ec1a02a9c23362edd72797ac
Author:     felix <felix@call-with-current-continuation.org>
AuthorDate: Mon Nov 16 11:37:02 2009 +0100
Commit:     felix <felix@call-with-current-continuation.org>
CommitDate: Sun Nov 22 11:12:18 2009 +0100

    make seconds argument to seconds->... procedures optional (suggested by mario)
    
    Signed-off-by: felix <felix@call-with-current-continuation.org>

diff --git a/posixunix.scm b/posixunix.scm
index 87e37882..04f3e594 100644
--- a/posixunix.scm
+++ b/posixunix.scm
@@ -1953,17 +1953,17 @@ EOF
   (when (fx< (##sys#size tm) 10)
     (##sys#error loc "time vector too short" tm) ) )
 
-(define (seconds->local-time secs)
+(define (seconds->local-time #!optional (secs (current-seconds)))
   (##sys#check-number secs 'seconds->local-time)
   (##sys#decode-seconds secs #f) )
 
-(define (seconds->utc-time secs)
+(define (seconds->utc-time #!optional (secs (current-seconds)))
   (##sys#check-number secs 'seconds->utc-time)
   (##sys#decode-seconds secs #t) )
 
 (define seconds->string
   (let ([ctime (foreign-lambda c-string "C_ctime" integer)])
-    (lambda (secs)
+    (lambda (#!optional (secs (current-seconds)))
       (##sys#check-number secs 'seconds->string)
       (let ([str (ctime secs)])
         (if str
diff --git a/posixwin.scm b/posixwin.scm
index 40fed902..a551535b 100644
--- a/posixwin.scm
+++ b/posixwin.scm
@@ -1695,17 +1695,17 @@ EOF
   (when (fx< (##sys#size tm) 10)
     (##sys#error loc "time vector too short" tm) ) )
 
-(define (seconds->local-time secs)
+(define (seconds->local-time #!optional (secs (current-seconds)))
   (##sys#check-number secs 'seconds->local-time)
   (##sys#decode-seconds secs #f) )
 
-(define (seconds->utc-time secs)
+(define (seconds->utc-time #!optional (secs (current-seconds)))
   (##sys#check-number secs 'seconds->utc-time)
   (##sys#decode-seconds secs #t) )
 
 (define seconds->string
   (let ([ctime (foreign-lambda c-string "C_ctime" integer)])
-    (lambda (secs)
+    (lambda (#!optional (secs (current-seconds)))
       (let ([str (ctime secs)])
         (if str
             (##sys#substring str 0 (fx- (##sys#size str) 1))
diff --git a/types.db b/types.db
index 5239e2fe..8ff5d57f 100644
--- a/types.db
+++ b/types.db
@@ -805,9 +805,9 @@
 (prot/write fixnum)
 (read-symbolic-link (procedure read-symbolic-link (string) string))
 (regular-file? (procedure regular-file? (string) boolean))
-(seconds->local-time (procedure seconds->local-time (number) vector))
-(seconds->string (procedure seconds->string (number) string))
-(seconds->utc-time (procedure seconds->utc-time (number) vector))
+(seconds->local-time (procedure seconds->local-time (#!optional number) vector))
+(seconds->string (procedure seconds->string (#!optional number) string))
+(seconds->utc-time (procedure seconds->utc-time (#!optional number) vector))
 (seek/cur fixnum)
 (seek/end fixnum)
 (seek/set fixnum)
Trap