summary refs log tree commit diff stats
path: root/lib/system
diff options
context:
space:
mode:
authorAraq <rumpf_a@web.de>2012-06-28 08:33:25 +0200
committerAraq <rumpf_a@web.de>2012-06-28 08:33:25 +0200
commit2900ceae3580a9f1e83b500cf1abcdfe77762cad (patch)
tree1279b1199dcd7f1af2949355e692b1857960a0ee /lib/system
parentb5d34242ca7156ec702f8e63a01c9cd059d28e5f (diff)
downloadNim-2900ceae3580a9f1e83b500cf1abcdfe77762cad.tar.gz
changed integer promotion rules; added math.fmod
Diffstat (limited to 'lib/system')
-rwxr-xr-xlib/system/alloc.nim4
-rwxr-xr-xlib/system/ansi_c.nim4
-rwxr-xr-xlib/system/sysio.nim4
3 files changed, 6 insertions, 6 deletions
diff --git a/lib/system/alloc.nim b/lib/system/alloc.nim
index 981dac977..ba172373d 100755
--- a/lib/system/alloc.nim
+++ b/lib/system/alloc.nim
@@ -23,7 +23,7 @@ when defined(posix):
   const
     PROT_READ  = 1             # page can be read 
     PROT_WRITE = 2             # page can be written 
-    MAP_PRIVATE = 2            # Changes are private 
+    MAP_PRIVATE = 2'i32        # Changes are private 
   
   when defined(macosx) or defined(bsd):
     const MAP_ANONYMOUS = 0x1000
@@ -40,7 +40,7 @@ when defined(posix):
   
   proc osAllocPages(size: int): pointer {.inline.} = 
     result = mmap(nil, size, PROT_READ or PROT_WRITE, 
-                           MAP_PRIVATE or MAP_ANONYMOUS, -1, 0)
+                             MAP_PRIVATE or MAP_ANONYMOUS, -1, 0)
     if result == nil or result == cast[pointer](-1):
       raiseOutOfMem()
       
diff --git a/lib/system/ansi_c.nim b/lib/system/ansi_c.nim
index e328f7099..3376b9413 100755
--- a/lib/system/ansi_c.nim
+++ b/lib/system/ansi_c.nim
@@ -14,9 +14,9 @@
 {.push hints:off}
 
 proc c_strcmp(a, b: CString): cint {.nodecl, noSideEffect, importc: "strcmp".}
-proc c_memcmp(a, b: CString, size: cint): cint {.
+proc c_memcmp(a, b: CString, size: int): cint {.
   nodecl, noSideEffect, importc: "memcmp".}
-proc c_memcpy(a, b: CString, size: cint) {.nodecl, importc: "memcpy".}
+proc c_memcpy(a, b: CString, size: int) {.nodecl, importc: "memcpy".}
 proc c_strlen(a: CString): int {.nodecl, noSideEffect, importc: "strlen".}
 proc c_memset(p: pointer, value: cint, size: int) {.nodecl, importc: "memset".}
 
diff --git a/lib/system/sysio.nim b/lib/system/sysio.nim
index adcb32b42..15f87896a 100755
--- a/lib/system/sysio.nim
+++ b/lib/system/sysio.nim
@@ -199,8 +199,8 @@ proc Open(f: var TFile, filename: string,
   var p: pointer = fopen(filename, FormatOpen[mode])
   result = (p != nil)
   f = cast[TFile](p)
-  if bufSize > 0:
-    if setvbuf(f, nil, IOFBF, bufSize) != 0'i32:
+  if bufSize > 0 and bufSize <= high(cint):
+    if setvbuf(f, nil, IOFBF, bufSize.cint) != 0'i32:
       raise newException(EOutOfMemory, "out of memory")
   elif bufSize == 0:
     discard setvbuf(f, nil, IONBF, 0)