summaryrefslogtreecommitdiff
path: root/time.c
diff options
context:
space:
mode:
Diffstat (limited to 'time.c')
-rw-r--r--time.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/time.c b/time.c
index 8a680c9f15..edff7ee7a3 100644
--- a/time.c
+++ b/time.c
@@ -1962,6 +1962,16 @@ find_time_t(struct tm *tptr, int utc_p, time_t *tp)
find_dst = 0 < tptr->tm_isdst;
+#if defined(HAVE_MKTIME)
+ tm0 = *tptr;
+ if (!utc_p && (guess = mktime(&tm0)) != -1) {
+ tm = GUESS(&guess);
+ if (tm && tmcmp(tptr, tm) == 0) {
+ goto found;
+ }
+ }
+#endif
+
tm0 = *tptr;
if (tm0.tm_mon < 0) {
tm0.tm_mon = 0;