From 23365976f8e0265adc2f21d8e330ce58e270041a Mon Sep 17 00:00:00 2001
From: Glenn L McGrath <bug1@ihug.co.nz>
Date: Fri, 29 Aug 2003 06:25:04 +0000
Subject: Correct logic in determining size of block to download, as pointed
 out by Junio C Hamano

---
 networking/wget.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/networking/wget.c b/networking/wget.c
index 4a10a307e..5ea559b89 100644
--- a/networking/wget.c
+++ b/networking/wget.c
@@ -484,7 +484,7 @@ read_response:
 		progressmeter(-1);
 #endif
 	do {
-		while ((filesize > 0 || !got_clen) && (n = safe_fread(buf, 1, (chunked || !got_clen || (filesize > sizeof(buf)) ? sizeof(buf) : filesize), dfp)) > 0) {
+		while ((filesize > 0 || !got_clen) && (n = safe_fread(buf, 1, ((chunked || got_clen) && (filesize < sizeof(buf)) ? filesize : sizeof(buf)), dfp)) > 0) {
 			if (safe_fwrite(buf, 1, n, output) != n) {
 				bb_perror_msg_and_die("write error");
 			}
@@ -819,7 +819,7 @@ progressmeter(int flag)
  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
  *
- *	$Id: wget.c,v 1.56 2003/08/28 22:03:19 bug1 Exp $
+ *	$Id: wget.c,v 1.57 2003/08/29 06:25:04 bug1 Exp $
  */
 
 
-- 
cgit v1.2.3