From 76c36688d09b86a1b3a5e2d363e0fefa81d7c8a2 Mon Sep 17 00:00:00 2001
From: Daniel Stenberg <daniel@haxx.se>
Date: Mon, 22 Mar 2004 22:38:12 +0000
Subject: [PATCH] Makes CURLINFO_CONTENT_LENGTH_DOWNLOAD work even if
 CURLOPT_NOBODY is set true.

---
 lib/transfer.c | 12 ++++++++----
 1 file changed, 8 insertions(+), 4 deletions(-)

diff --git a/lib/transfer.c b/lib/transfer.c
index 84d244ef03..2a0df0f64c 100644
--- a/lib/transfer.c
+++ b/lib/transfer.c
@@ -507,10 +507,14 @@ CURLcode Curl_readwrite(struct connectdata *conn,
                   if(conn->bits.chunk)
                     conn->size=-1;
 
-                  if(-1 != conn->size) {
-                    Curl_pgrsSetDownloadSize(data, conn->size);
-                    conn->maxdownload = conn->size;
-                  }
+                }
+                if(-1 != conn->size) {
+                  /* We do this operation even if no_body is true, since this
+                     data might be retrieved later with curl_easy_getinfo()
+                     and its CURLINFO_CONTENT_LENGTH_DOWNLOAD option. */
+
+                  Curl_pgrsSetDownloadSize(data, conn->size);
+                  conn->maxdownload = conn->size;
                 }
                 /* If max download size is *zero* (nothing) we already
                    have nothing and can safely return ok now! */
-- 
GitLab