In local.glasgow-haskell-bugs, you wrote:
>will have to be applied in several places, I fear.

It's less than I thought. Entire patch below.
diff -u SocketPrim.old SocketPrim.hsc
--- SocketPrim.old      Thu Jun  7 16:29:47 2001
+++ SocketPrim.hsc      Thu Jun  7 16:45:50 2001
@@ -489,18 +489,17 @@
 
 getPeerName   :: Socket -> IO SockAddr
 getPeerName (MkSocket s family _ _ _) = do
- withNewSockAddr family $ \ptr _ -> do
-   withObject 0 $ \int_star -> do
+ withNewSockAddr family $ \ptr sz -> do
+   withObject (fromIntegral sz) $ \int_star -> do
    throwErrnoIfMinus1Retry "getPeerName" $ c_getpeername s ptr int_star
    sz <- peek int_star
    peekSockAddr ptr
     
 getSocketName :: Socket -> IO SockAddr
 getSocketName (MkSocket s family _ _ _) = do
- withNewSockAddr family $ \ptr _ -> do
-   withObject 0 $ \int_star -> do
+ withNewSockAddr family $ \ptr sz -> do
+   withObject (fromIntegral sz) $ \int_star -> do
    throwErrnoIfMinus1Retry "getSocketName" $ c_getsockname s ptr int_star
-   sz <- peek int_star
    peekSockAddr ptr
 
 -----------------------------------------------------------------------------
-- 
Abstrakte Syntaxträume.
Volker Stolz * [EMAIL PROTECTED] * PGP + S/MIME

_______________________________________________
Glasgow-haskell-bugs mailing list
[EMAIL PROTECTED]
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs

Reply via email to