summaryrefslogtreecommitdiff
path: root/lang/moscow_ml/files/patch-dynlibs::msocket::msocket.c
blob: e0f6e8d8482fb65f5baad9317127768da8d45450 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
--- dynlibs/msocket/msocket.c.orig	Fri Jan 21 15:37:13 2000
+++ dynlibs/msocket/msocket.c	Sun Jun  9 12:40:19 2002
@@ -68,7 +68,7 @@
 #ifdef macintosh
 #define Sock_val(x) (Field(x,0))
 #else
-#define Sock_val(x) ((int) Field(x,0))
+#define Sock_val(x) (Field(x,0))
 #endif

 /* Decomposition of addr values: */
@@ -469,6 +469,7 @@
 EXTERNML value msocket_bind(value socket, value address) {
   int ret, size;
   union saddr addr;
+  bzero(&addr, sizeof(addr));
   make_saddr(&addr, address);
   size  = Int_val(Size_addrval(address));
   ret = bind(Sock_val(socket), &addr.sockaddr_gen, size);
@@ -486,6 +487,7 @@
   int ret, size;
   union saddr addr;
  
+  bzero(&addr, sizeof(addr));
   make_saddr(&addr, address);
   size  = Int_val(Size_addrval(address));
 
@@ -572,6 +574,7 @@
   signal(SIGPIPE, SIG_IGN);
 #endif
  
+  bzero(&addr, sizeof(addr));
   make_saddr(&addr, address);
   enter_blocking_section();
   ret = sendto(Sock_val(sock), &Byte(buff, Long_val(Field(tup,0))),