diff options
author | Daniel Stenberg <daniel@haxx.se> | 2001-04-27 18:03:44 +0000 |
---|---|---|
committer | Daniel Stenberg <daniel@haxx.se> | 2001-04-27 18:03:44 +0000 |
commit | 2eb94acb95d244f797d48a9e51ad97c57623c262 (patch) | |
tree | b2459e65333184f9ed0d02e28e352d40bdb171e4 | |
parent | 6a80fb34824ca397768ecabbfe8ee242aec172b3 (diff) |
When Content-Length:0 is received, we now bail now and return success
directly after all the headers are received!
-rw-r--r-- | lib/transfer.c | 26 |
1 files changed, 16 insertions, 10 deletions
diff --git a/lib/transfer.c b/lib/transfer.c index 805484bba..0fc575496 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++; |