Added a fourth application: plink, a command line connection utility
[u/mdw/putty] / raw.c
diff --git a/raw.c b/raw.c
index 3023d95..2c3e852 100644 (file)
--- a/raw.c
+++ b/raw.c
@@ -14,8 +14,6 @@
 
 static SOCKET s = INVALID_SOCKET;
 
-#define iswritable(x) ( (x) != IAC && (x) != CR )
-
 static void raw_size(void);
 
 static int sb_opt, sb_len;
@@ -50,16 +48,8 @@ static void s_write (void *buf, int len) {
 }
 
 static void c_write (char *buf, int len) {
-    while (len--) {
-       int new_head = (inbuf_head + 1) & INBUF_MASK;
-       if (new_head != inbuf_reap) {
-           inbuf[inbuf_head] = *buf++;
-           inbuf_head = new_head;
-       } else {
-            term_out();
-            if( inbuf_head == inbuf_reap ) len++; else break;
-       }
-    }
+    while (len--) 
+        c_write1(*buf++);
 }
 
 /*
@@ -134,7 +124,7 @@ static char *raw_init (HWND hwnd, char *host, int port, char **realhost) {
          default: return "connect(): unknown error";
        }
 
-    if (WSAAsyncSelect (s, hwnd, WM_NETEVENT, FD_READ |
+    if (hwnd && WSAAsyncSelect (s, hwnd, WM_NETEVENT, FD_READ |
                        FD_WRITE | FD_OOB | FD_CLOSE) == SOCKET_ERROR)
        switch (WSAGetLastError()) {
          case WSAENETDOWN: return "Network is down";
@@ -225,10 +215,13 @@ static void raw_special (Telnet_Special code) {
     return;
 }
 
+SOCKET raw_socket(void) { return s; }
+
 Backend raw_backend = {
     raw_init,
     raw_msg,
     raw_send,
     raw_size,
-    raw_special
+    raw_special,
+    raw_socket
 };