#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;
/* 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