From 513f05a6c097ef5ab4f6c28891c6e7db6b95eb08 Mon Sep 17 00:00:00 2001 From: wessels <> Date: Mon, 1 Dec 1997 09:19:19 +0000 Subject: [PATCH] persistent connection / content-length fix. We may not get a content-length on non-200 replies. In this case, we are DONE writing to the client when we have seen the end of the reply headers. --- src/client_side.cc | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/src/client_side.cc b/src/client_side.cc index 944efce14a..bdb65f1151 100644 --- a/src/client_side.cc +++ b/src/client_side.cc @@ -1,6 +1,6 @@ /* - * $Id: client_side.cc,v 1.161 1997/11/30 04:00:53 wessels Exp $ + * $Id: client_side.cc,v 1.162 1997/12/01 02:19:19 wessels Exp $ * * DEBUG: section 33 Client-side Routines * AUTHOR: Duane Wessels @@ -1775,8 +1775,17 @@ icpCheckTransferDone(clientHttpRequest * http) return 1; if ((mem = entry->mem_obj) == NULL) return 0; - if (mem->reply->content_length < 0) - return 0; + if (mem->reply->content_length < 0) { + /* + * reply->hdr_sz will be set by httpParseReplyHeaders() + * if we find the end of the headers. If we find the end, + * and there is no content length, stick a fork in us. + */ + if (mem->reply->hdr_sz > 0) + return 1; + else + return 0; + } if (http->out.offset >= mem->reply->content_length + mem->reply->hdr_sz) return 1; return 0; -- 2.47.3