diff options
author | Dominik Picheta <dominikpicheta@googlemail.com> | 2014-04-30 17:38:44 +0100 |
---|---|---|
committer | Dominik Picheta <dominikpicheta@googlemail.com> | 2014-04-30 17:38:44 +0100 |
commit | 6c4870d8122f2787feabb3f90647fed5fd31af45 (patch) | |
tree | 07b3ddbb357dd0934dc4e723f1d61425ae89b9c7 | |
parent | 81d404979780386ecd1756a41dfc09497e194f26 (diff) | |
download | Nim-6c4870d8122f2787feabb3f90647fed5fd31af45.tar.gz |
Get rid unsafe pointer type in GetQueuedCompletionStatus.
-rw-r--r-- | lib/pure/asyncdispatch.nim | 5 | ||||
-rw-r--r-- | lib/pure/asynchttpserver.nim | 4 | ||||
-rw-r--r-- | lib/windows/winlean.nim | 2 |
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".} |