network 2.2.1.5 → 2.2.1.6
raw patch · 2 files changed
+37/−7 lines, 2 filesPVP ok
version bump matches the API change (PVP)
API changes (from Hackage documentation)
Files
- Network/Socket.hsc +36/−6
- network.cabal +1/−1
Network/Socket.hsc view
@@ -233,6 +233,10 @@ import System.IO.Unsafe (unsafePerformIO) #endif +# if __GLASGOW_HASKELL__ >= 611+import GHC.IO.FD+#endif+ import Network.Socket.Internal type HostName = String@@ -297,6 +301,12 @@ INSTANCE_TYPEABLE0(Socket,socketTc,"Socket") +#if __GLASGOW_HASKELL__ >= 611+socket2FD (MkSocket fd _ _ _ _) = + -- HACK, 1 means True + FD{fdFD = fd,fdIsSocket_ = 1} +#endif+ mkSocket :: CInt -> Family -> SocketType@@ -729,13 +739,28 @@ send :: Socket -- Bound/Connected Socket -> String -- Data to send -> IO Int -- Number of Bytes sent-send (MkSocket s _family _stype _protocol status) xs = do+send sock@(MkSocket s _family _stype _protocol status) xs = do let len = length xs withCString xs $ \str -> do liftM fromIntegral $ #if defined(__GLASGOW_HASKELL__) && defined(mingw32_HOST_OS)- writeRawBufferPtr "Network.Socket.send" (fromIntegral s) True str 0- (fromIntegral len)+# if __GLASGOW_HASKELL__ >= 611 + writeRawBufferPtr + "Network.Socket.send" + (socket2FD sock)+ (castPtr str)+ 0+ (fromIntegral len)+#else + writeRawBufferPtr + "Network.Socket.send" + (fromIntegral s) + True + str + 0 + (fromIntegral len)+#endif + #else # if !defined(__HUGS__) throwSocketErrorIfMinus1RetryMayBlock "send"@@ -754,8 +779,13 @@ allocaBytes nbytes $ \ptr -> do len <- #if defined(__GLASGOW_HASKELL__) && defined(mingw32_HOST_OS)- readRawBufferPtr "Network.Socket.recvLen" (fromIntegral s) True ptr 0- (fromIntegral nbytes)+# if __GLASGOW_HASKELL__ >= 611 + readRawBufferPtr "Network.Socket.recvLen" (socket2FD sock) ptr 0+ (fromIntegral nbytes)+#else + readRawBufferPtr "Network.Socket.recvLen" (fromIntegral s) True ptr 0+ (fromIntegral nbytes)+#endif #else # if !defined(__HUGS__) throwSocketErrorIfMinus1RetryMayBlock "recv"@@ -767,7 +797,7 @@ if len' == 0 then ioError (mkEOFError "Network.Socket.recv") else do- s <- peekCStringLen (ptr,len')+ s <- peekCStringLen (castPtr ptr,len') return (s, len') -- ---------------------------------------------------------------------------
network.cabal view
@@ -1,5 +1,5 @@ name: network-version: 2.2.1.5+version: 2.2.1.6 license: BSD3 license-file: LICENSE maintainer: Johan Tibell <johan.tibell@gmail.com>