Introduce framework for authenticating with the local X server.
[u/mdw/putty] / winnet.c
index e94075b..f2e8454 100644 (file)
--- a/winnet.c
+++ b/winnet.c
@@ -365,6 +365,7 @@ SockAddr sk_namelookup(char *host, char **canonicalname)
 SockAddr sk_nonamelookup(char *host)
 {
     SockAddr ret = smalloc(sizeof(struct SockAddr_tag));
+    ret->error = NULL;
     ret->family = AF_UNSPEC;
     strncpy(ret->hostname, host, lenof(ret->hostname));
     ret->hostname[lenof(ret->hostname)-1] = '\0';
@@ -459,8 +460,8 @@ static void sk_tcp_flush(Socket s)
 }
 
 static void sk_tcp_close(Socket s);
-static int sk_tcp_write(Socket s, char *data, int len);
-static int sk_tcp_write_oob(Socket s, char *data, int len);
+static int sk_tcp_write(Socket s, const char *data, int len);
+static int sk_tcp_write_oob(Socket s, const char *data, int len);
 static void sk_tcp_set_private_ptr(Socket s, void *ptr);
 static void *sk_tcp_get_private_ptr(Socket s);
 static void sk_tcp_set_frozen(Socket s, int is_frozen);
@@ -923,7 +924,7 @@ void try_send(Actual_Socket s)
     }
 }
 
-static int sk_tcp_write(Socket sock, char *buf, int len)
+static int sk_tcp_write(Socket sock, const char *buf, int len)
 {
     Actual_Socket s = (Actual_Socket) sock;
 
@@ -941,7 +942,7 @@ static int sk_tcp_write(Socket sock, char *buf, int len)
     return bufchain_size(&s->output_data);
 }
 
-static int sk_tcp_write_oob(Socket sock, char *buf, int len)
+static int sk_tcp_write_oob(Socket sock, const char *buf, int len)
 {
     Actual_Socket s = (Actual_Socket) sock;
 
@@ -972,23 +973,8 @@ int select_result(WPARAM wParam, LPARAM lParam)
 
     /* wParam is the socket itself */
 
-    /*
-     * One user has reported an assertion failure in tree234 which
-     * indicates a null element pointer has been passed to a
-     * find*234 function. The following find234 is the only one in
-     * the whole program that I can see being capable of doing
-     * this, hence I'm forced to conclude that WinSock is capable
-     * of sending me netevent messages with wParam==0. I want to
-     * know what the rest of the message is if it does so!
-     */
-    if (wParam == 0) {
-       char *str;
-       str = dupprintf("Strange WinSock message: wp=%08x lp=%08x",
-                       (int)wParam, (int)lParam);
-       logevent(NULL, str);
-       connection_fatal(NULL, str);
-       sfree(str);
-    }
+    if (wParam == 0)
+       return 1;                      /* boggle */
 
     s = find234(sktree, (void *) wParam, cmpforsearch);
     if (!s)