diff options
author | Dominik Picheta <dominikpicheta@googlemail.com> | 2012-08-20 21:52:32 +0100 |
---|---|---|
committer | Dominik Picheta <dominikpicheta@googlemail.com> | 2012-08-20 21:52:32 +0100 |
commit | 99698ec5d88ed233d787eea919e3136d927d8494 (patch) | |
tree | cad0aa7ae524f75e059da222faef5bb152af0544 | |
parent | e17a778d56f17d5ac92e8ad8115fdb1ceb727336 (diff) | |
parent | 6ab873cc637784328e310d28c42e30001a6238c1 (diff) | |
download | Nim-99698ec5d88ed233d787eea919e3136d927d8494.tar.gz |
Merge branch 'master' of git://github.com/fowlmouth/Nimrod into fowlmouth-master
-rwxr-xr-x | lib/pure/sockets.nim | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/lib/pure/sockets.nim b/lib/pure/sockets.nim index 28f0a325e..ec1817e72 100755 --- a/lib/pure/sockets.nim +++ b/lib/pure/sockets.nim @@ -1205,7 +1205,7 @@ proc recvAsync*(socket: TSocket, s: var TaintedString): bool = result = True proc recvFrom*(socket: TSocket, data: var string, length: int, - address: var string, flags = 0'i32): int = + address: var string, port: var TPort, flags = 0'i32): int = ## Receives data from ``socket``. This function should normally be used with ## connection-less sockets (UDP sockets). ## @@ -1215,7 +1215,7 @@ proc recvFrom*(socket: TSocket, data: var string, length: int, ## function will make no effort to return it. # TODO: Buffered sockets - data = newString(length) + data.setLen(length) var sockAddress: Tsockaddr_in var addrLen = sizeof(sockAddress).TSockLen result = recvFrom(socket.fd, cstring(data), length.cint, flags.cint, @@ -1223,13 +1223,14 @@ proc recvFrom*(socket: TSocket, data: var string, length: int, if result != -1: address = $inet_ntoa(sockAddress.sin_addr) + port = ntohs(sockAddress.sin_port).TPort proc recvFromAsync*(socket: TSocket, data: var String, length: int, - address: var string, flags = 0'i32): bool = + address: var string, port: var TPort, flags = 0'i32): bool = ## Similar to ``recvFrom`` but raises an EOS error when an error occurs. ## Returns False if no messages could be received from ``socket``. result = true - var callRes = recvFrom(socket, data, length, address) + var callRes = recvFrom(socket, data, length, address, port, flags) if callRes < 0: when defined(windows): # TODO: Test on Windows |