Jordan Russell's patch (3rd of several). We now don't call TermOut()
[sgt/putty] / rlogin.c
index 525d48d..97699ae 100644 (file)
--- a/rlogin.c
+++ b/rlogin.c
@@ -86,7 +86,7 @@ static void rlogin_sent(Plug plug, int bufsize)
  * Also places the canonical host name into `realhost'. It must be
  * freed by the caller.
  */
-static char *rlogin_init(char *host, int port, char **realhost)
+static char *rlogin_init(char *host, int port, char **realhost, int nodelay)
 {
     static struct plug_function_table fn_table = {
        rlogin_closing,
@@ -121,7 +121,7 @@ static char *rlogin_init(char *host, int port, char **realhost)
        sprintf(buf, "Connecting to %.100s port %d", addrbuf, port);
        logevent(buf);
     }
-    s = sk_new(addr, port, 1, 0, &fn_table_ptr);
+    s = sk_new(addr, port, 1, 0, nodelay, &fn_table_ptr);
     if ((err = sk_socket_error(s)))
        return err;
 
@@ -177,6 +177,9 @@ static void rlogin_size(void)
 {
     char b[12] = { '\xFF', '\xFF', 0x73, 0x73, 0, 0, 0, 0, 0, 0, 0, 0 };
 
+    if (s == NULL)
+       return;
+    
     b[6] = cols >> 8;
     b[7] = cols & 0xFF;
     b[4] = rows >> 8;