summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorDominik Picheta <dominikpicheta@googlemail.com>2014-04-30 17:38:44 +0100
committerDominik Picheta <dominikpicheta@googlemail.com>2014-04-30 17:38:44 +0100
commit6c4870d8122f2787feabb3f90647fed5fd31af45 (patch)
tree07b3ddbb357dd0934dc4e723f1d61425ae89b9c7
parent81d404979780386ecd1756a41dfc09497e194f26 (diff)
downloadNim-6c4870d8122f2787feabb3f90647fed5fd31af45.tar.gz
Get rid unsafe pointer type in GetQueuedCompletionStatus.
-rw-r--r--lib/pure/asyncdispatch.nim5
-rw-r--r--lib/pure/asynchttpserver.nim4
-rw-r--r--lib/windows/winlean.nim2
3 files changed, 7 insertions, 4 deletions
diff --git a/lib/pure/asyncdispatch.nim b/lib/pure/asyncdispatch.nim
index 93eddc2a6..f5dcf11a2 100644
--- a/lib/pure/asyncdispatch.nim
+++ b/lib/pure/asyncdispatch.nim
@@ -182,8 +182,9 @@ when defined(windows) or defined(nimdoc):
     var lpNumberOfBytesTransferred: DWORD
     var lpCompletionKey: ULONG
     var customOverlapped: PCustomOverlapped
-    let res = GetQueuedCompletionStatus(p.ioPort, addr lpNumberOfBytesTransferred,
-        addr lpCompletionKey, addr customOverlapped, llTimeout).bool
+    let res = GetQueuedCompletionStatus(p.ioPort,
+        addr lpNumberOfBytesTransferred, addr lpCompletionKey,
+        cast[ptr POverlapped](addr customOverlapped), llTimeout).bool
 
     # http://stackoverflow.com/a/12277264/492186
     # TODO: http://www.serverframework.com/handling-multiple-pending-socket-read-and-write-operations.html
diff --git a/lib/pure/asynchttpserver.nim b/lib/pure/asynchttpserver.nim
index 2ebd7036d..6c2414d99 100644
--- a/lib/pure/asynchttpserver.nim
+++ b/lib/pure/asynchttpserver.nim
@@ -174,7 +174,9 @@ when isMainModule:
   proc cb(req: TRequest) {.async.} =
     #echo(req.reqMethod, " ", req.url)
     #echo(req.headers)
-    await req.respond(Http200, "Hello World")
+    let headers = {"Date": "Tue, 29 Apr 2014 23:40:08 GMT",
+        "Content-type": "text/plain; charset=utf-8"}
+    await req.respond(Http200, "Hello World", headers.newStringTable())
 
   server.serve(TPort(5555), cb)
   runForever()
diff --git a/lib/windows/winlean.nim b/lib/windows/winlean.nim
index d5dda4b63..a868f3025 100644
--- a/lib/windows/winlean.nim
+++ b/lib/windows/winlean.nim
@@ -672,7 +672,7 @@ proc CreateIoCompletionPort*(FileHandle: THANDLE, ExistingCompletionPort: THANDL
 
 proc GetQueuedCompletionStatus*(CompletionPort: THandle,
     lpNumberOfBytesTransferred: PDWORD, lpCompletionKey: PULONG,
-                                lpOverlapped: pointer,
+                                lpOverlapped: ptr POverlapped,
                                 dwMilliseconds: DWORD): WINBOOL{.stdcall,
     dynlib: "kernel32", importc: "GetQueuedCompletionStatus".}