From c6b71544a4ab89ce78b70facc2e644c20656cf57 Mon Sep 17 00:00:00 2001 From: Sara Golemon Date: Thu, 13 Feb 2003 00:42:06 +0000 Subject: [PATCH] Reverting earlier patch to reintroduce buggy behavior (yes, you heard that right) of filtered http streams in favor of performance. This has little consequence given limited filter support in 4.3 branch. Filters will be redesigned in 5.0 release. For more information see Wez, Ilia, or myself. --- ext/standard/http_fopen_wrapper.c | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/ext/standard/http_fopen_wrapper.c b/ext/standard/http_fopen_wrapper.c index 12482895b3..fd3ad826c4 100644 --- a/ext/standard/http_fopen_wrapper.c +++ b/ext/standard/http_fopen_wrapper.c @@ -122,8 +122,11 @@ php_stream *php_stream_url_wrap_http(php_stream_wrapper *wrapper, char *path, ch if (stream == NULL) goto out; - /* avoid buffering issues while reading header */ - chunk_size = php_stream_set_chunk_size(stream, 1); + /* Ordinarily we'd always reduce chunk_size to 1 to avoid filter problems. + However, since 4.3 filter support is extremely limited and will be completely rewritten in 5.0 + we'll accept the unexpected behavior of filtered http streams in favor of improved performance. */ + if (options & STREAM_WILL_CAST) + chunk_size = php_stream_set_chunk_size(stream, 1); php_stream_context_set(stream, context); @@ -399,8 +402,9 @@ out: if (stream) { stream->wrapperdata = response_header; php_stream_notify_progress_init(context, 0, file_size); - /* Restore original chunk size now that we're done with headers */ - php_stream_set_chunk_size(stream, chunk_size); + /* Restore original chunk size now that we're done with headers (if applicable) */ + if (options & STREAM_WILL_CAST) + php_stream_set_chunk_size(stream, chunk_size); /* as far as streams are concerned, we are now at the start of * the stream */ stream->position = 0; -- 2.50.1