I believe this patch should fix the problem.  Could you apply it and
let me know if it fixes things for you?


2005-07-02  Hrvoje Niksic  <[EMAIL PROTECTED]>

        * http.c (gethttp): Except for head_only, use skip_short_body to
        skip the non-20x error message before leaving gethttp.

Index: src/http.c
===================================================================
--- src/http.c  (revision 1851)
+++ src/http.c  (working copy)
@@ -1889,11 +1889,17 @@
       hs->len = 0;
       hs->res = 0;
       xfree_null (type);
-      /* Pre-1.10 Wget used CLOSE_INVALIDATE here.  Now we trust the
-        servers not to send body in response to a HEAD request.  If
-        you encounter such a server (more likely a broken CGI), use
-        `--no-http-keep-alive'.  */
-      CLOSE_FINISH (sock);
+      if (head_only)
+       /* Pre-1.10 Wget used CLOSE_INVALIDATE here.  Now we trust the
+          servers not to send body in response to a HEAD request.  If
+          you encounter such a server (more likely a broken CGI), use
+          `--no-http-keep-alive'.  */
+       CLOSE_FINISH (sock);
+      else if (keep_alive && skip_short_body (sock, contlen))
+       /* Successfully skipped the body; also keep using the socket. */
+       CLOSE_FINISH (sock);
+      else
+       CLOSE_INVALIDATE (sock);
       return RETRFINISHED;
     }
 

Reply via email to