directive is set in activation time). This commit fixes this by adding a per
request parsing of the browscap file that's when get_browser is called the
first time and the directive is set on activation time.w
This reverts the fix for bug #24557.
- Make php_stream_free delete the stream from the resources list, not merely
decrease its refcount, as a single call to zend_list_delete does.
#Not worth the risk merging to 5.3. While change #2 may prevent some segfaults,
#a quick and dirty survey to the codebase only showed calls to php_stream_close
#or php_stream_free on streams allocated in the same function, which would have
#refcount == 1. May be reconsidered.
wrapper).
#php_stream->wrapperdata should hold an array zval (like its zval* type
#indicates...), it's not a place where the wrapper can drop an arbitrary
#pointer. For that, .wrapperthis should be used.
#Also, since the ftp dir wrapper defines its own stream type, it's more
#appropriate to use .abstract to store the stream instance specific data.
setting).
#This fix (for g/G/k/H modes) is done at a different level than that for the
#modes e/E/f/F, at a bit higher level and therefore with less coverage. I
#chose this because it addresses the problem where it is -- the calling function
#that passes a buffer too small to php_gcvt.
stream when 0 is given as the value.
- PHP_STREAM_OPTION_WRITE_BUFFER no longer changes the chunk size in socket
streams.
- Added stream_set_chunk_size() function.
- Some signedness fixes.
- Test for commit r308474, now that it's possible to actually test it.
negative ports and ports > 65535 as invalid.
The tests that fail due to #308035 in the standard ext were not
fixed. If the behavior in those tests turns out to be the
desirable one, both this commit and #308035 ought to be reverted
or at least adapted.
to be called as all the headers are being sent and after all
of the default headers have been merged.
headers_list(), header_remove() and header() can all be used
inside the callback.
<?php
header('Content-Type: text/plain');
header('X-Test: foo');
function foo() {
foreach (headers_list() as $header) {
if (strpos($header, 'X-Powered') !== false) {
header_remove('X-Powered-By');
}
header_remove('X-Test');
}
}
$result = header_register_callback('foo');
echo "a";
- Fixed usage of zend_multibyte_get_internal_encoding (its return cannot be
cast to char*).
- Change tests to reflect that charset detection now relies on
internal_encoding, not on current_internal_encoding.
NOTE: This fixes the changes in rev 306077, but it remains that that change
introduced a BC break. I assumed it was intentional