From: Daniel Stenberg Date: Fri, 27 Apr 2001 18:03:44 +0000 (+0000) Subject: When Content-Length:0 is received, we now bail now and return success X-Git-Tag: curl-7_7_3~14 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=2eb94acb95d244f797d48a9e51ad97c57623c262;p=thirdparty%2Fcurl.git When Content-Length:0 is received, we now bail now and return success directly after all the headers are received! --- diff --git a/lib/transfer.c b/lib/transfer.c index 805484bba5..0fc5754961 100644 --- a/lib/transfer.c +++ b/lib/transfer.c @@ -361,6 +361,22 @@ Transfer(struct connectdata *c_conn) */ if(data->bits.no_body) return CURLE_OK; + + if(!conn->bits.close) { + /* If this is not the last request before a close, we must + set the maximum download size to the size of the + expected document or else, we won't know when to stop + reading! */ + if(-1 != conn->size) + conn->maxdownload = conn->size; + + /* If max download size is *zero* (nothing) we already + have nothing and can safely return ok now! */ + if(0 == conn->maxdownload) + return CURLE_OK; + + /* What to do if the size is *not* known? */ + } break; /* exit header line loop */ } @@ -583,16 +599,6 @@ Transfer(struct connectdata *c_conn) } /* two valid time strings */ } /* we have a time condition */ - if(!conn->bits.close) { - /* If this is not the last request before a close, we must - set the maximum download size to the size of the expected - document or else, we won't know when to stop reading! */ - if(-1 != conn->size) - conn->maxdownload = conn->size; - - /* What to do if the size is *not* known? */ - } - } /* this is HTTP */ } /* this is the first time we write a body part */ bodywrites++;