patch 7.4.1187
Problem: MS-Windows channel code only supports one channel. Doesn't build
without netbeans support.
Solution: Get the channel index from the socket in the message. Closes #600.
diff --git a/src/channel.c b/src/channel.c
index d57c24f..fc738c5 100644
--- a/src/channel.c
+++ b/src/channel.c
@@ -207,7 +207,6 @@
/*
* Tell Windows we are interested in receiving message when there
* is input on the editor connection socket.
- * TODO: change WM_NETBEANS to something related to the channel index.
*/
if (channel->ch_inputHandler == -1)
channel->ch_inputHandler =
@@ -648,6 +647,24 @@
#endif
}
+# if defined(FEAT_GUI_W32) || defined(PROTO)
+/*
+ * Lookup the channel index from the socket.
+ * Returns -1 when the socket isn't found.
+ */
+ int
+channel_socket2idx(sock_T fd)
+{
+ int i;
+
+ if (fd >= 0)
+ for (i = 0; i < channel_count; ++i)
+ if (channels[i].ch_fd == fd)
+ return i;
+ return -1;
+}
+# endif
+
/*
* Write "buf" (NUL terminated string) to channel "idx".
* When "fun" is not NULL an error message might be given.