From 51c485342b3be871c8998affc62901a27ffd3d92 Mon Sep 17 00:00:00 2001
From: Colin Hogben <curl@pythontech.co.uk>
Date: Wed, 4 Jan 2012 11:24:49 +0000
Subject: [PATCH] Remove bogus optimisation of telnet upload.

Remove wrongly implemented optimisation of telnet upload, apparently
intended to allow the library to avoid manually polling for input.
---
 src/tool_operate.c | 11 ++++++++---
 1 file changed, 8 insertions(+), 3 deletions(-)

diff --git a/src/tool_operate.c b/src/tool_operate.c
index bf73479aa..a6f6f0b90 100644
--- a/src/tool_operate.c
+++ b/src/tool_operate.c
@@ -767,11 +767,16 @@ int operate(struct Configurable *config, int argc, argv_item_t argv[])
         /* for uploads */
         input.fd = infd;
         input.config = config;
+        /* Note that if CURLOPT_READFUNCTION is fread (the default), then
+         * lib/telnet.c will Curl_poll() on the input file descriptor
+         * rather then calling the READFUNCTION at regular intervals.
+         * The circumstances in which it is preferable to enable this
+         * behaviour, by omitting to set the READFUNCTION & READDATA options,
+         * have not been determined.
+         */
         my_setopt(curl, CURLOPT_READDATA, &input);
         /* what call to read */
-        if((outfile && !curlx_strequal("-", outfile)) ||
-           !checkprefix("telnet:", this_url))
-          my_setopt(curl, CURLOPT_READFUNCTION, tool_read_cb);
+        my_setopt(curl, CURLOPT_READFUNCTION, tool_read_cb);
 
         /* in 7.18.0, the CURLOPT_SEEKFUNCTION/DATA pair is taking over what
            CURLOPT_IOCTLFUNCTION/DATA pair previously provided for seeking */
-- 
2.40.0