ALLOC_INIT_ZVAL(orig_buffer);
ZVAL_STRINGL(orig_buffer, OG(active_ob_buffer).buffer, OG(active_ob_buffer).text_length, 1);
- Z_SET_REFCOUNT_P(orig_buffer, 2); /* don't let call_user_function() destroy our buffer */
- Z_SET_ISREF_P(orig_buffer);
ALLOC_INIT_ZVAL(z_status);
ZVAL_LONG(z_status, status);
if (!just_flush) {
zval_ptr_dtor(&OG(active_ob_buffer).output_handler);
}
- Z_SET_REFCOUNT_P(orig_buffer, Z_REFCOUNT_P(orig_buffer) - 2);
- if (Z_REFCOUNT_P(orig_buffer) <= 0) { /* free the zval */
- zval_dtor(orig_buffer);
- FREE_ZVAL(orig_buffer);
- }
+ zval_ptr_dtor(&orig_buffer);
zval_ptr_dtor(&z_status);
}