Re: Don't compress empty output with zlib

From: Date: Tue, 17 Feb 2009 22:14:40 +0000
Subject: Re: Don't compress empty output with zlib
References: 1  Groups: php.internals 
Request: Send a blank email to internals+get-43083@lists.php.net to get a copy of this message
Edward Z. Yang wrote: > Hello all, I've cooked up a short paonetch for Bug 42362, and would > appreciate comments. The patch turns off zlib compression if there is no > output, to make zlib_compression play more nicely with 304s. The previous patch is wrong (it doesn't handle the flush();flush(); case well). Here's a better one, although it's 304 specific: Index: ext/zlib/zlib.c =================================================================== RCS file: /repository/php-src/ext/zlib/zlib.c,v retrieving revision 1.183.2.6.2.8 diff -u -r1.183.2.6.2.8 zlib.c --- ext/zlib/zlib.c 31 Dec 2008 11:17:47 -0000 1.183.2.6.2.8 +++ ext/zlib/zlib.c 17 Feb 2009 22:13:40 -0000 @@ -979,7 +979,7 @@ { zend_bool do_start, do_end; - if (!ZLIBG(output_compression)) { + if (!ZLIBG(output_compression) || SG(sapi_headers).http_response_code == 304) { *handled_output = NULL; } else { do_start = (mode & PHP_OUTPUT_HANDLER_START ? 1 : 0);

« previous php.internals (#43083) next »