7.6.1-pre3
diff --git a/CHANGES b/CHANGES
index 4278d01..5e8fac1 100644
--- a/CHANGES
+++ b/CHANGES
@@ -7,6 +7,21 @@
                                History of Changes
 
 
+Daniel (7 February 2001)
+- SM found a flaw in the response reading function for FTP that could make
+  libcurl not get out of the loop properly when it should, if libcurl got -1
+  returned when reading the socket.
+
+- I found a similar mistake in http.c when using a proxy and reading the
+  results from the proxy connection.
+
+Daniel (6 February 2001)
+- A friendly person named "SM" (nntp at iname.com) pointed out that the VC
+  makefile in src/ needed the libpath set for the debug build to work.
+
+- Daniel Gehriger stepped in to assist with the VC++ stuff Robert Weaver
+  brought up yesterday.
+
 Daniel (5 February 2001)
 - Jun-ichiro itojun Hagino brought a big patch that brings IPv6-awareness to
   a bunch of different areas within libcurl.
@@ -14,13 +29,15 @@
 - Robert Weaver told me about the problems the MS VC++ 6.0 compiler has with
   the 'static' keyword on a number of libcurl functions. I might need to add a
   patch that redefines static when libcurl is compiled with that compiler.
+  How do I know when VC++ compiles, anyone?
 
 Daniel (4 February 2001)
 - curl_getinfo() was extended with two new options:
   CURLINFO_CONTENT_LENGTH_DOWNLOAD and CURLINFO_CONTENT_LENGTH_UPLOAD. They
   return the full assumed content length of the transfer in the given
   direction. The CURLINFO_CONTENT_LENGTH_DOWNLOAD will be the Content-Length:
-  size of a HTTP download. Added descriptions to the man page as well.
+  size of a HTTP download. Added descriptions to the man page as well. This
+  was done after discussions with Bob Schader.
 
 Daniel (3 February 2001)
 - Ingo Ralf Blum provided another fix that makes curl build under the more
@@ -31,8 +48,9 @@
 
 Daniel (31 January 2001)
 - Curl_read() and curl_read() now return a ssize_t for the size, as it had to
-  be able to return -1. The telnet support crashed due to this and there was
-  a possibility to weird behaviour all over.
+  be able to return -1. The telnet support crashed due to this and there was a
+  possibility to weird behaviour all over. Linus Nielsen Feltzing helped me
+  find this.
 
 - Added a configure.in check for a working getaddrinfo() if IPv6 is requested.
   I also made the configure script feature --enable-debug which sets a couple
diff --git a/acconfig.h b/acconfig.h
index 817ecc7..1ec870a 100644
--- a/acconfig.h
+++ b/acconfig.h
@@ -39,3 +39,7 @@
 
 /* Define if you want to enable IPv6 support */
 #undef ENABLE_IPV6
+
+/* Define this to 'int' if ssize_t is not an available typedefed type */
+#undef ssize_t
+
diff --git a/configure.in b/configure.in
index de707cd..91409d1 100644
--- a/configure.in
+++ b/configure.in
@@ -659,6 +659,9 @@
 # check for 'long long'
 AC_CHECK_SIZEOF(long long, 4)
 
+# check for ssize_t
+AC_CHECK_TYPE(ssize_t, int)
+
 dnl Get system canonical name
 AC_CANONICAL_HOST
 AC_DEFINE_UNQUOTED(OS, "${host}")
diff --git a/docs/MANUAL b/docs/MANUAL
index 356cb18..5f7051e 100644
--- a/docs/MANUAL
+++ b/docs/MANUAL
@@ -735,15 +735,14 @@
         curl telnet://remote.server.com
 
   And enter the data to pass to the server on stdin. The result will be sent
-  stdout or to the file you specify with -o.
+  to stdout or to the file you specify with -o.
 
   You might want the -N/--no-buffer option to switch off the buffered output
-  for slow connections or if the output from the remote site is slow and/or
-  without newlines.
+  for slow connections or similar.
 
   NOTE: the telnet protocol does not specify any way to login with a specified
-  user and password and thus curl can't do that automatically. To do that, you
-  need to track when the login prompt is received and send the username and
+  user and password so curl can't do that automatically. To do that, you need
+  to track when the login prompt is received and send the username and
   password accordingly.
 
 MAILING LIST
diff --git a/include/curl/curl.h b/include/curl/curl.h
index 4e90bfe..b69ea1e 100644
--- a/include/curl/curl.h
+++ b/include/curl/curl.h
@@ -452,7 +452,7 @@
 char *curl_version(void);
 
 /* This is the version number */
-#define LIBCURL_VERSION "7.6.1-pre2"
+#define LIBCURL_VERSION "7.6.1-pre3"
 #define LIBCURL_VERSION_NUM 0x070601
 
 /* linked-list structure for the CURLOPT_QUOTE option (and other) */
diff --git a/lib/ftp.c b/lib/ftp.c
index 123f8df..a8ef166 100644
--- a/lib/ftp.c
+++ b/lib/ftp.c
@@ -282,6 +282,8 @@
          */
         if(CURLE_OK != Curl_read(conn, sockfd, ptr, 1, &keepon))
           keepon = FALSE;
+        else if(keepon < 0)
+          error = SELECT_ERROR;
         else if ((*ptr == '\n') || (*ptr == '\r'))
           keepon = FALSE;
       }
diff --git a/src/version.h b/src/version.h
index 7457c7c..b7c1dc9 100644
--- a/src/version.h
+++ b/src/version.h
@@ -1,3 +1,3 @@
 #define CURL_NAME "curl"
-#define CURL_VERSION "7.6.1-pre2"
+#define CURL_VERSION "7.6.1-pre3"
 #define CURL_ID CURL_NAME " " CURL_VERSION " (" OS ") "