projects
/
sbcl.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
0.9.16.30:
[sbcl.git]
/
src
/
runtime
/
time.c
diff --git
a/src/runtime/time.c
b/src/runtime/time.c
index
b980ba1
..
4b4cf9c
100644
(file)
--- a/
src/runtime/time.c
+++ b/
src/runtime/time.c
@@
-23,8
+23,17
@@
void get_timezone(time_t when, int *secwest, boolean *dst)
struct tm ltm, gtm;
int sw;
struct tm ltm, gtm;
int sw;
+#ifdef LISP_FEATURE_WIN32
+ /* No _r versions on Windows, but the API documentation also
+ * doesn't warn them about being non-reentrant... So here's
+ * hoping they actually are -- once Windows grows threads
+ * this better be checked, though. */
ltm = *localtime(&when);
gtm = *gmtime(&when);
ltm = *localtime(&when);
gtm = *gmtime(&when);
+#else
+ ltm = *localtime_r(&when, <m);
+ gtm = *gmtime_r(&when, >m);
+#endif
sw = (((gtm.tm_hour*60)+gtm.tm_min)*60+gtm.tm_sec) - (((ltm.tm_hour*60)+ltm.tm_min)*60+ltm.tm_sec);
if ((gtm.tm_wday + 1) % 7 == ltm.tm_wday)
sw = (((gtm.tm_hour*60)+gtm.tm_min)*60+gtm.tm_sec) - (((ltm.tm_hour*60)+ltm.tm_min)*60+ltm.tm_sec);
if ((gtm.tm_wday + 1) % 7 == ltm.tm_wday)