patch 8.0.1657: crash when reading a channel

Problem:    Crash when reading a channel.
Solution:   Clear the write flag before writing. (idea by Shinya Ohyanagi,
            closes #2769).
diff --git a/src/channel.c b/src/channel.c
index 3b71472..38e6392 100644
--- a/src/channel.c
+++ b/src/channel.c
@@ -4150,8 +4150,9 @@
 	if (ret > 0 && in_part->ch_fd != INVALID_FD
 					    && FD_ISSET(in_part->ch_fd, wfds))
 	{
-	    channel_write_input(channel);
+	    /* Clear the flag first, ch_fd may change in channel_write_input(). */
 	    FD_CLR(in_part->ch_fd, wfds);
+	    channel_write_input(channel);
 	    --ret;
 	}
     }
diff --git a/src/version.c b/src/version.c
index 1c2d802..1178d9b 100644
--- a/src/version.c
+++ b/src/version.c
@@ -763,6 +763,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    1657,
+/**/
     1656,
 /**/
     1655,