At 17:10 01.09.2002, Zeev Suraski wrote: >At 17:51 01/09/2002, Marcus Börger wrote: >>At 15:25 01.09.2002, Zeev Suraski wrote: >>>At 16:10 01/09/2002, Marcus Börger wrote: >>>>The problem is that in function >>>>PHPAPI void php_end_ob_buffer(zend_bool send_buffer, zend_bool >>>>just_flush TSRMLS_DC) >>>> >>>>the user function is called wether or not send_buffer is zero. (Zero >>>>means flush >>>>here and means the function must not be called, as far as i can tell by >>>>now). >>> >>>It should be called either way. >> >>My first thoughts were that there is no need to call the user functions when >>cleaning the output. So could you explain why? > >I actually mixed it up with just_flush.
After reading again: It seems i mixed it up myself in first answer. > You may be right about send_buffer, even though it's debatable. You > may want to perform some processing even if the buffer gets canceled, but > I guess that wouldn't be good programming. >However, either way, this should not be causing any problems if the >handler and buffering layer are coded properly. Calling the handler >should not cause a crash regardless of whether the buffer ends up getting >sent or not. I checked it and what happens is that the call to user function of cause calls the user function again which then calls php_end_ob_buffer. The problem here again is that in ob handlers no ob_xxx() function can be called. Since i also agree that relying on a handler beeing called upon cleaning is no good idea i suggest we disable calling the user function and such for that case. Could you please check - i am looking for other the problems in the output code and havin problems with all the versions since some of my patches were removed. -- PHP Development Mailing List <http://www.php.net/> To unsubscribe, visit: http://www.php.net/unsub.php