diff options
-rw-r--r-- | lib/pure/times.nim | 11 | ||||
-rw-r--r-- | lib/std/time_t.nim | 23 | ||||
-rw-r--r-- | tools/kochdocs.nim | 1 |
3 files changed, 28 insertions, 7 deletions
diff --git a/lib/pure/times.nim b/lib/pure/times.nim index 166dfd446..0104a97c1 100644 --- a/lib/pure/times.nim +++ b/lib/pure/times.nim @@ -217,7 +217,7 @@ when defined(JS): elif defined(posix): import posix - type CTime* = posix.Time + type CTime = posix.Time var realTimeClockId {.importc: "CLOCK_REALTIME", header: "<time.h>".}: Clockid @@ -233,13 +233,10 @@ elif defined(posix): tzset() elif defined(windows): - import winlean + import winlean, std/time_t + + type CTime = time_t.Time - when defined(i386) and defined(gcc): - type CTime* {.importc: "time_t", header: "<time.h>".} = distinct int32 - else: - # newest version of Visual C++ defines time_t to be of 64 bits - type CTime* {.importc: "time_t", header: "<time.h>".} = distinct int64 # visual c's c runtime exposes these under a different name var timezone {.importc: "_timezone", header: "<time.h>".}: int diff --git a/lib/std/time_t.nim b/lib/std/time_t.nim new file mode 100644 index 000000000..37918ee6c --- /dev/null +++ b/lib/std/time_t.nim @@ -0,0 +1,23 @@ +# +# +# Nim's Runtime Library +# (c) Copyright 2019 Nim contributors +# +# See the file "copying.txt", included in this +# distribution, for details about the copyright. +# + +when defined(nimdoc): + type + impl = distinct int64 + Time* = impl ## \ + ## Wrapper for ``time_t``. On posix, this is an alias to ``posix.Time``. +elif defined(windows): + when defined(i386) and defined(gcc): + type Time* {.importc: "time_t", header: "<time.h>".} = distinct int32 + else: + # newest version of Visual C++ defines time_t to be of 64 bits + type Time* {.importc: "time_t", header: "<time.h>".} = distinct int64 +elif defined(posix): + import posix + export posix.Time \ No newline at end of file diff --git a/tools/kochdocs.nim b/tools/kochdocs.nim index 68662bab2..f75994f51 100644 --- a/tools/kochdocs.nim +++ b/tools/kochdocs.nim @@ -219,6 +219,7 @@ lib/pure/collections/heapqueue.nim lib/pure/fenv.nim lib/std/sha1.nim lib/std/varints.nim +lib/std/time_t.nim lib/impure/rdstdin.nim lib/wrappers/linenoise/linenoise.nim lib/pure/strformat.nim |