summary refs log tree commit diff stats
path: root/lib
diff options
context:
space:
mode:
authorDominik Picheta <dominikpicheta@googlemail.com>2018-10-19 23:24:47 +0100
committerGitHub <noreply@github.com>2018-10-19 23:24:47 +0100
commit863d3ef4ed7d18877a42f0060ebe63c34a27cf32 (patch)
tree36c2512e3170d0c1ae4dfb608a21f7511fa5b2c9 /lib
parent16a70c84aaabc27c25e48154e423b5f87f95bbd9 (diff)
parent81f5427ed4e69bcaaad9f2f5cd7ab71e1571f3ca (diff)
downloadNim-863d3ef4ed7d18877a42f0060ebe63c34a27cf32.tar.gz
Merge pull request #9446 from GULPF/times-32
Fix times 32-bit issue
Diffstat (limited to 'lib')
-rw-r--r--lib/pure/times.nim6
1 files changed, 4 insertions, 2 deletions
diff --git a/lib/pure/times.nim b/lib/pure/times.nim
index a7ccbf6ee..62284c6cb 100644
--- a/lib/pure/times.nim
+++ b/lib/pure/times.nim
@@ -967,11 +967,13 @@ else:
           return ((0 - tm.toAdjUnix).int, false)
         return (0, false)
 
-    var a = unix.CTime
+    # In case of a 32-bit time_t, we fallback to the closest available
+    # timezone information.
+    var a = clamp(unix, low(CTime), high(CTime)).CTime
     let tmPtr = localtime(addr(a))
     if not tmPtr.isNil:
       let tm = tmPtr[]
-      return ((unix - tm.toAdjUnix).int, tm.isdst > 0)
+      return ((a.int64 - tm.toAdjUnix).int, tm.isdst > 0)
     return (0, false)
 
   proc localZonedTimeFromTime(time: Time): ZonedTime =