~ chicken-core (chicken-5) 869fc9dd3f6c502575967d5091383b56459ddf8c
commit 869fc9dd3f6c502575967d5091383b56459ddf8c
Author: felix <felix@call-with-current-continuation.org>
AuthorDate: Mon Jul 26 10:04:07 2010 +0200
Commit: felix <felix@call-with-current-continuation.org>
CommitDate: Mon Jul 26 10:04:07 2010 +0200
use timegm for Mac OS X (fix by zbigniew)
diff --git a/posixunix.scm b/posixunix.scm
index 6b5ffc97..c90481a3 100644
--- a/posixunix.scm
+++ b/posixunix.scm
@@ -308,10 +308,10 @@ static C_TLS sigset_t C_sigset;
#define C_ctime(n) (C_secs = (n), ctime(&C_secs))
-#if defined(__SVR4)
+#if defined(__SVR4) || defined(C_MACOSX)
/* Seen here: http://lists.samba.org/archive/samba-technical/2002-November/025571.html */
-static time_t timegm(struct tm *t)
+static time_t C_timegm(struct tm *t)
{
time_t tl, tb;
struct tm *tg;
@@ -338,6 +338,8 @@ static time_t timegm(struct tm *t)
}
return (tl - (tb - tl));
}
+#else
+#define C_timegm timegm
#endif
#define cpy_tmvec_to_tmstc08(ptm, v) \
@@ -413,7 +415,7 @@ C_tm_get( C_word v )
#define C_asctime(v) (asctime(C_tm_set(v)))
#define C_a_mktime(ptr, c, v) C_flonum(ptr, mktime(C_tm_set(v)))
-#define C_a_timegm(ptr, c, v) C_flonum(ptr, timegm(C_tm_set(v)))
+#define C_a_timegm(ptr, c, v) C_flonum(ptr, C_timegm(C_tm_set(v)))
#define TIME_STRING_MAXLENGTH 255
static char C_time_string [TIME_STRING_MAXLENGTH + 1];
Trap