information, a few spaces won't hurt (and multiple ones are rendered
as one by browsers anyway). Micro-benchmarks which use phpinfo()
as a mean to generate output will yield more through-put now
(35 req/s vs. 83 req/s in tux).
(DO NOT document this function yet)
Fixed crash bug with ob_end_*() function. ob_end_*() will not delete
buffers that may not be deleted.
php_start_ob_buffer() and php_ob_set_internal_handler() takes parameter for
if the buffer created may be deleted or not.
Added 3rd parameter "bool erase" to ob_start(). If FALSE, buffer may not be
deleted until script finshes.
Changed ob_*() function that have void return type to bool. All ob_*()
functions return TRUE for success, FALSE for failure.
@ - Added ob_get_status() to get array of buffers and it's status. (Yasuo)
@ - Fixed crash bug with ob_end_*() function. ob_end_*() will not delete
@ buffers that may not be deleted. (Yasuo)
@ - Added 3rd parameter "bool erase" to ob_start(). If FALSE, buffer may not be
@ deleted until script finshes. (Yasuo)
@ - Changed ob_*() function that have void return type to bool. All ob_*()
@ functions return TRUE for success, FALSE for failure. (Yasuo)
in php_config.h. Redefine the zend_* versions in the case of Win32.
This fixes the build on systems that don't provide a native version of,
say, isinf() (e.g. Solaris).
makes these functions return a highlighted string instead of dumping
to standard output. (Derick)
@- Added optional parameter to highlight_string and highlight_file which
@ makes these functions return a highlighted string instead of dumping
@ to standard output. (Derick)
@- Added EXTR_IF_EXISTS and EXTR_PREFIX_IF_EXISTS flags to extract()
@ EXTR_IF_EXISTS only extracts a variable if it already exists
@ EXTR_PREFIX_IF_EXISTS only extracts the variable if it exists and
@ then it prepends the prefix to it. ie. if $PATH exists then
@ extract($_ENV,EXTR_PREFIX_IF_EXISTS,'e') would result in $e_PATH
@ This lets you do $a = $b = $c = true; extract($_REQUEST,EXTR_IF_EXISTS);
@ and you only get the global request variables you have defined imported
@ into your symbol table. (Rasmus)
(single-character break, no forced break) appears to be about 60%
faster, and there's simply no comparison for non-simple cases with
non-trivial amounts of text. The old algorithm was O(n^2) (with an
unfortunately large constant factor) because of the use of strncat(),
the new one is O(n). Added some more tests, too.
@ - Made wordwrap() significantly faster. (Jim)
# test case: $t = join('',file('ChangeLog')); $w = wordwrap($t,10,"\n",1);
# new code completes in less than a second. i'm still waiting for the
# old code to finish.
pow() tests.
@- Fixed pow(), and added finite(), isinf(), and isnan(). (Jim)
# Jeroen was on crack, and apparently flunked arithmetic. Names of new
# functions subject to change if people get persnickety about them.
# (They're currently the same as the underlying C library function
# names. Hope nobody forgets to update the tests if they change the
# names.)
# Oh, and pow() uses the new parameter-passing API now.
ereg_replace before trying to use them.
# i could have sworn i fixed this in php3. ereg() has similar logic, i
# guess i just missed ereg_replace. fixing this lets
# ext/standard/tests/reg/012.phpt pass on my debian/unstable box
multi-character break or trying to force cut (bug #12768, now fails
and issues a warning because forcing a zero-width cut doesn't make
sense). Also converted to new paramater-passing API and avoid making
an extra copy of the return values.
# also added tests.
@- Fixed segfault in wordwrap() when wrapping to zero width and using
@ multi-character break or trying to force cut (bug #12768). (Jim)
uasort, uksort and usort.
Corrected prototype comments for all.
Converted to use zend_parse_parameters, except for the u.?sort functions.
Changed return values for failure from implicit NULL to explicit FALSE in
asort(), krsort(), and ksort().
Changed pval to zval in the u.?sort functions.
Added test to help ensure that fixes to code do not change function
behavior. Tests are quite large (~237k) but compress down to ~16k.
Please let me know if this is a problem!