summary refs log tree commit diff stats
diff options
context:
space:
mode:
-rwxr-xr-xlib/core/typeinfo.nim3
-rwxr-xr-xlib/pure/times.nim8
2 files changed, 6 insertions, 5 deletions
diff --git a/lib/core/typeinfo.nim b/lib/core/typeinfo.nim
index 9cc8e4dfd..ca2b68cc3 100755
--- a/lib/core/typeinfo.nim
+++ b/lib/core/typeinfo.nim
@@ -479,7 +479,8 @@ proc setBiggestFloat*(x: TAny, y: biggestFloat) =
 proc getString*(x: TAny): string = 
   ## retrieve the string value out of `x`. `x` needs to represent a string.
   assert x.rawtype.kind == tyString
-  result = cast[ptr string](x.value)[]
+  if not isNil(cast[ptr pointer](x.value)[]):
+    result = cast[ptr string](x.value)[]
 
 proc setString*(x: TAny, y: string) = 
   ## sets the string value of `x`. `x` needs to represent a string.
diff --git a/lib/pure/times.nim b/lib/pure/times.nim
index 327dc9187..4cb873b1c 100755
--- a/lib/pure/times.nim
+++ b/lib/pure/times.nim
@@ -26,8 +26,8 @@ type
     dMon, dTue, dWed, dThu, dFri, dSat, dSun
 
 var
-  timezone* {.importc, header: "<time.h>".}: int
-  tzname* {.importc, header: "<time.h>" .}: array[0..1, cstring]
+  timezone {.importc, header: "<time.h>".}: int
+  tzname {.importc, header: "<time.h>" .}: array[0..1, cstring]
 
 when defined(posix): 
   type
@@ -580,11 +580,11 @@ proc format*(info: TTimeInfo, f: string): string =
           result.add('0')
         result.add($info.minute)
       of "M":
-        result.add($(int(info.month)))
+        result.add($(int(info.month)+1))
       of "MM":
         if int(info.month) < 10:
           result.add('0')
-        result.add($(int(info.month)))
+        result.add($(int(info.month)+1))
       of "MMM":
         result.add(($info.month)[0..2])
       of "MMMM":