Replace PuTTY's 2-3-4 tree implementation with the shiny new counted
[u/mdw/putty] / winnet.c
index 131f00a..0f17906 100644 (file)
--- a/winnet.c
+++ b/winnet.c
@@ -54,7 +54,7 @@
 #include "network.h"
 #include "tree234.h"
 
-#define BUFFER_GRANULE 512
+#define BUFFER_GRANULE  512
 
 struct Socket_tag {
     struct socket_function_table *fn;
@@ -621,7 +621,7 @@ static void sk_tcp_write_oob(Socket sock, char *buf, int len) {
 int select_result(WPARAM wParam, LPARAM lParam) {
     int ret, open;
     DWORD err;
-    char buf[BUFFER_GRANULE];
+    char buf[20480];                  /* nice big buffer for plenty of speed */
     Actual_Socket s;
     u_long atmark;
 
@@ -747,11 +747,13 @@ static char *sk_tcp_socket_error(Socket sock) {
 /*
  * For Plink: enumerate all sockets currently active.
  */
-SOCKET first_socket(enum234 *e) {
-    Actual_Socket s = first234(sktree, e);
+SOCKET first_socket(int *state) {
+    Actual_Socket s;
+    *state = 0;
+    s = index234(sktree, (*state)++);
     return s ? s->s : INVALID_SOCKET;
 }
-SOCKET next_socket(enum234 *e) {
-    Actual_Socket s = next234(e);
+SOCKET next_socket(int *state) {
+    Actual_Socket s = index234(sktree, (*state)++);
     return s ? s->s : INVALID_SOCKET;
 }