From 71f3877f3a2e76b4c32f625438c36cd739884c06 Mon Sep 17 00:00:00 2001
From: Daniel Stenberg <daniel@haxx.se>
Date: Tue, 3 Feb 2009 22:28:41 +0000
Subject: [PATCH] - Hidemoto Nakada provided a small fix that makes it possible
 to get the   CURLINFO_CONTENT_LENGTH_DOWNLOAD size from file:// "transfers"
 with   CURLOPT_NOBODY set true.

---
 CHANGES       | 7 ++++++-
 RELEASE-NOTES | 4 +++-
 lib/file.c    | 6 +++++-
 3 files changed, 14 insertions(+), 3 deletions(-)

diff --git a/CHANGES b/CHANGES
index 80e3572594..bcc89d24b5 100644
--- a/CHANGES
+++ b/CHANGES
@@ -6,6 +6,11 @@
 
                                   Changelog
 
+Daniel Stenberg (3 Feb 2009)
+- Hidemoto Nakada provided a small fix that makes it possible to get the
+  CURLINFO_CONTENT_LENGTH_DOWNLOAD size from file:// "transfers" with
+  CURLOPT_NOBODY set true.
+
 Daniel Stenberg (2 Feb 2009)
 - Patrick Scott found a rather large memory leak when using the multi
   interface and setting CURLMOPT_MAXCONNECTS to something less than the number
@@ -24,7 +29,7 @@ Daniel Stenberg (2 Feb 2009)
 Daniel Stenberg (31 Jan 2009)
 - When building with c-ares 1.6.1 (not yet released) or later and IPv6 support
   enabled, we can now take advantage of its brand new AF_UNSPEC support in
-  ares_gethostbyname(). This makes test case 241 finally run fine for me wtih
+  ares_gethostbyname(). This makes test case 241 finally run fine for me with
   this setup since it now parses the "::1 ip6-localhost" line fine in my
   /etc/hosts file!
 
diff --git a/RELEASE-NOTES b/RELEASE-NOTES
index 550a68c597..ba56fb419f 100644
--- a/RELEASE-NOTES
+++ b/RELEASE-NOTES
@@ -26,6 +26,8 @@ This release includes the following bugfixes:
  o realms with quoted quotation marks in HTTP Digest headers
  o VC9 makefiles are now really included
  o multi interface memory leak with CURLMOPT_MAXCONNECTS set
+ o CURLINFO_CONTENT_LENGTH_DOWNLOAD size from file:// "transfers" with
+   CURLOPT_NOBODY set true
 
 This release includes the following known bugs:
 
@@ -36,6 +38,6 @@ advice from friends like these:
 
  Lisa Xu, Daniel Fandrich, Craig A West, Alexey Borzov, Sharad Gupta,
  Peter Sylvester, Chad Monroe, Markus Moeller, Yang Tse, Scott Cantor,
- Patrick Scott
+ Patrick Scott, Hidemoto Nakada
 
         Thanks! (and sorry if I forgot to mention someone)
diff --git a/lib/file.c b/lib/file.c
index fb8b46a481..9aae1e4df8 100644
--- a/lib/file.c
+++ b/lib/file.c
@@ -5,7 +5,7 @@
  *                            | (__| |_| |  _ <| |___
  *                             \___|\___/|_| \_\_____|
  *
- * Copyright (C) 1998 - 2008, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2009, Daniel Stenberg, <daniel@haxx.se>, et al.
  *
  * This software is licensed as described in the file COPYING, which
  * you should have received as part of this distribution. The terms
@@ -496,6 +496,10 @@ static CURLcode file_do(struct connectdata *conn, bool *done)
                tm->tm_sec);
       result = Curl_client_write(conn, CLIENTWRITE_BOTH, buf, 0);
     }
+    /* if we fstat()ed the file, set the file size to make it available post-
+       transfer */
+    if(fstated)
+      Curl_pgrsSetDownloadSize(data, expected_size);
     return result;
   }
 
-- 
GitLab