}
/* }}} */
+/* {{{ php_ob_used_each
+ Sets handler_name to NULL is found
+ */
+static int php_ob_handler_used_each(php_ob_buffer *ob_buffer, char **handler_name)
+{
+ if ((!strcmp(ob_buffer->handler_name, "zlib output compression") && ob_buffer->internal_output_handler && !strcmp("ob_gzhandler", *handler_name))
+ || !strcmp(ob_buffer->handler_name, *handler_name))
+ {
+ *handler_name = NULL;
+ return 1;
+ }
+ return 0;
+}
+/* }}} */
+
+/* {{{ php_ob_used
+ returns 1 if given handler_name is used as output_handler
+ */
+PHPAPI int php_ob_handler_used(char *handler_name TSRMLS_DC)
+{
+ char *tmp = handler_name;
+
+ if (OG(ob_nesting_level)) {
+ if (!strcmp(OG(active_ob_buffer).handler_name, handler_name)) {
+ return 1;
+ }
+ if (OG(ob_nesting_level)>1) {
+ zend_stack_apply_with_argument(&OG(ob_buffers), ZEND_STACK_APPLY_BOTTOMUP, (int (*)(void *element, void *)) php_ob_handler_used_each, &tmp);
+ }
+ }
+ return tmp ? 0 : 1;
+}
+/* }}} */
+
/* {{{ php_ob_append
*/
static void php_ob_append(const char *text, uint text_length TSRMLS_DC)
PHPAPI char *php_get_output_start_filename(TSRMLS_D);
PHPAPI int php_get_output_start_lineno(TSRMLS_D);
PHPAPI void php_ob_set_internal_handler(php_output_handler_func_t internal_output_handler, uint buffer_size, char *handler_name, zend_bool erase TSRMLS_DC);
+PHPAPI int php_ob_handler_used(char *handler_name TSRMLS_DC);
PHP_FUNCTION(ob_start);
PHP_FUNCTION(ob_flush);