Handle compiler-error in LOAD when it's not run from inside EVAL.
[sbcl.git] / src / runtime / time.c
index 4b4cf9c..7b4b167 100644 (file)
 #include "sbcl.h"
 #include "runtime.h"
 
+#ifdef LISP_FEATURE_HPUX
+struct tm *gmtime_r(const time_t *timer, struct tm *result);
+struct tm *localtime_r(const time_t *timer, struct tm *result);
+#endif
+
 void get_timezone(time_t when, int *secwest, boolean *dst)
 {
     struct tm ltm, gtm;
@@ -27,7 +32,12 @@ void get_timezone(time_t when, int *secwest, boolean *dst)
     /* 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. */
+     * this better be checked, though.
+     *
+     * The Windows versions also don't support times before the
+     * epoch, so we kludge it. */
+    if (when < 0)
+        when = 0;
     ltm = *localtime(&when);
     gtm = *gmtime(&when);
 #else