cvs: php-src /ext/session session.c /ext/soap soap.c /ext/standard basic_functions.c head.c info.c url_scanner_ex.c url_scanner_ex.re var.c
/ext/tidy tidy.c /ext/zlib zlib.c /main SAPI.c main.c output.c php_output.h /sapi/apache mod_php5.c /sapi/apache2handler php_functions.c
/sapi/apache_hooks mod_php5.c /sapi/cli php_cli.c /sapi/nsapi nsapi.c

From: Date: Sat, 03 Jun 2006 11:19:44 +0000
Subject: cvs: php-src /ext/session session.c /ext/soap soap.c /ext/standard basic_functions.c head.c info.c url_scanner_ex.c url_scanner_ex.re var.c
/ext/tidy tidy.c /ext/zlib zlib.c /main SAPI.c main.c output.c php_output.h /sapi/apache mod_php5.c /sapi/apache2handler php_functions.c
/sapi/apache_hooks mod_php5.c /sapi/cli php_cli.c /sapi/nsapi nsapi.c
Groups: php.cvs 
Request: Send a blank email to php-cvs+get-38579@lists.php.net to get a copy of this message
mike Sat Jun 3 11:19:44 2006 UTC Modified files: /php-src/ext/session session.c /php-src/ext/soap soap.c /php-src/ext/standard basic_functions.c head.c info.c url_scanner_ex.c url_scanner_ex.re var.c /php-src/ext/tidy tidy.c /php-src/ext/zlib zlib.c /php-src/main SAPI.c main.c output.c php_output.h /php-src/sapi/apache mod_php5.c /php-src/sapi/apache2handler php_functions.c /php-src/sapi/apache_hooks mod_php5.c /php-src/sapi/cli php_cli.c /php-src/sapi/nsapi nsapi.c Log: - explicit usage of TS macros # this could have been raised a lot earlier

http://cvs.php.net/viewcvs.cgi/php-src/ext/session/session.c?r1=1.435&r2=1.436&diff_format=u Index: php-src/ext/session/session.c diff -u php-src/ext/session/session.c:1.435 php-src/ext/session/session.c:1.436 --- php-src/ext/session/session.c:1.435 Fri Jun 2 19:51:42 2006 +++ php-src/ext/session/session.c Sat Jun 3 11:19:43 2006 @@ -17,7 +17,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: session.c,v 1.435 2006/06/02 19:51:42 mike Exp $ */ +/* $Id: session.c,v 1.436 2006/06/03 11:19:43 mike Exp $ */ #ifdef HAVE_CONFIG_H #include "config.h" @@ -855,8 +855,8 @@ if (PS(cache_limiter)[0] == '\0') return 0; if (SG(headers_sent)) { - char *output_start_filename = php_output_get_start_filename(); - int output_start_lineno = php_output_get_start_lineno(); + char *output_start_filename = php_output_get_start_filename(TSRMLS_C); + int output_start_lineno = php_output_get_start_lineno(TSRMLS_C); if (output_start_filename) { php_error_docref(NULL TSRMLS_CC, E_WARNING, "Cannot send session cache limiter - headers already sent (output started at %s:%d)", @@ -889,8 +889,8 @@ char *date_fmt = NULL; if (SG(headers_sent)) { - char *output_start_filename = php_output_get_start_filename(); - int output_start_lineno = php_output_get_start_lineno(); + char *output_start_filename = php_output_get_start_filename(TSRMLS_C); + int output_start_lineno = php_output_get_start_lineno(TSRMLS_C); if (output_start_filename) { php_error_docref(NULL TSRMLS_CC, E_WARNING, "Cannot send session cookie - headers already sent by (output started at %s:%d)", http://cvs.php.net/viewcvs.cgi/php-src/ext/soap/soap.c?r1=1.190&r2=1.191&diff_format=u Index: php-src/ext/soap/soap.c diff -u php-src/ext/soap/soap.c:1.190 php-src/ext/soap/soap.c:1.191 --- php-src/ext/soap/soap.c:1.190 Fri Jun 2 19:51:42 2006 +++ php-src/ext/soap/soap.c Sat Jun 3 11:19:43 2006 @@ -17,7 +17,7 @@ | Dmitry Stogov <dmitry@zend.com> | +----------------------------------------------------------------------+ */ -/* $Id: soap.c,v 1.190 2006/06/02 19:51:42 mike Exp $ */ +/* $Id: soap.c,v 1.191 2006/06/03 11:19:43 mike Exp $ */ #ifdef HAVE_CONFIG_H #include "config.h" @@ -1482,7 +1482,7 @@ } } - if (php_output_start_default() != SUCCESS) { + if (php_output_start_default(TSRMLS_C) != SUCCESS) { php_error_docref(NULL TSRMLS_CC, E_ERROR,"ob_start failed"); } @@ -1609,7 +1609,7 @@ php_error_docref(NULL TSRMLS_CC, E_ERROR, "Error calling constructor"); } if (EG(exception)) { - php_output_discard(); + php_output_discard(TSRMLS_C); if (Z_TYPE_P(EG(exception)) == IS_OBJECT && instanceof_function(Z_OBJCE_P(EG(exception)), soap_fault_class_entry TSRMLS_CC)) { soap_server_fault_ex(function, EG(exception), NULL TSRMLS_CC); @@ -1642,7 +1642,7 @@ } #ifdef ZEND_ENGINE_2 if (EG(exception)) { - php_output_discard(); + php_output_discard(TSRMLS_C); if (Z_TYPE_P(EG(exception)) == IS_OBJECT && instanceof_function(Z_OBJCE_P(EG(exception)), soap_fault_class_entry TSRMLS_CC)) { soap_server_fault_ex(function, EG(exception), NULL TSRMLS_CC); @@ -1721,14 +1721,14 @@ Z_TYPE_PP(tmp) != IS_NULL) { headerfault = *tmp; } - php_output_discard(); + php_output_discard(TSRMLS_C); soap_server_fault_ex(function, &h->retval, h TSRMLS_CC); efree(fn_name); if (soap_obj) {zval_ptr_dtor(&soap_obj);} goto fail; #ifdef ZEND_ENGINE_2 } else if (EG(exception)) { - php_output_discard(); + php_output_discard(TSRMLS_C); if (Z_TYPE_P(EG(exception)) == IS_OBJECT && instanceof_function(Z_OBJCE_P(EG(exception)), soap_fault_class_entry TSRMLS_CC)) { zval *headerfault = NULL, **tmp; @@ -1774,7 +1774,7 @@ #ifdef ZEND_ENGINE_2 if (EG(exception)) { - php_output_discard(); + php_output_discard(TSRMLS_C); if (Z_TYPE_P(EG(exception)) == IS_OBJECT && instanceof_function(Z_OBJCE_P(EG(exception)), soap_fault_class_entry TSRMLS_CC)) { soap_server_fault_ex(function, EG(exception), NULL TSRMLS_CC); @@ -1794,7 +1794,7 @@ if (Z_TYPE(retval) == IS_OBJECT && instanceof_function(Z_OBJCE(retval), soap_fault_class_entry TSRMLS_CC)) { - php_output_discard(); + php_output_discard(TSRMLS_C); soap_server_fault_ex(function, &retval, NULL TSRMLS_CC); goto fail; } @@ -1815,7 +1815,7 @@ } /* Flush buffer */ - php_output_discard(); + php_output_discard(TSRMLS_C); if (doc_return) { /* xmlDocDumpMemoryEnc(doc_return, &buf, &size, XML_CHAR_ENCODING_UTF8); */ @@ -2083,11 +2083,11 @@ code = "Server"; } /* Get output buffer and send as fault detials */ - if (php_output_get_length(&outbuflen) != FAILURE && Z_LVAL(outbuflen) != 0) { + if (php_output_get_length(&outbuflen TSRMLS_CC) != FAILURE && Z_LVAL(outbuflen) != 0) { ALLOC_INIT_ZVAL(outbuf); php_output_get_contents(outbuf TSRMLS_CC); } - php_output_discard(); + php_output_discard(TSRMLS_C); INIT_ZVAL(fault_obj); set_soap_fault(&fault_obj, NULL, code, buffer, NULL, outbuf, NULL TSRMLS_CC); http://cvs.php.net/viewcvs.cgi/php-src/ext/standard/basic_functions.c?r1=1.776&r2=1.777&diff_format=u Index: php-src/ext/standard/basic_functions.c diff -u php-src/ext/standard/basic_functions.c:1.776 php-src/ext/standard/basic_functions.c:1.777 --- php-src/ext/standard/basic_functions.c:1.776 Fri Jun 2 19:51:42 2006 +++ php-src/ext/standard/basic_functions.c Sat Jun 3 11:19:43 2006 @@ -17,7 +17,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: basic_functions.c,v 1.776 2006/06/02 19:51:42 mike Exp $ */ +/* $Id: basic_functions.c,v 1.777 2006/06/03 11:19:43 mike Exp $ */ #include "php.h" #include "php_streams.h" @@ -2406,7 +2406,7 @@ } if (i) { - php_output_start_default(); + php_output_start_default(TSRMLS_C); } php_get_highlight_struct(&syntax_highlighter_ini); @@ -2416,8 +2416,8 @@ } if (i) { - php_output_get_contents(return_value); - php_output_discard(); + php_output_get_contents(return_value TSRMLS_CC); + php_output_discard(TSRMLS_C); } else { RETURN_TRUE; } @@ -2437,7 +2437,7 @@ RETURN_FALSE; } - php_output_start_default(); + php_output_start_default(TSRMLS_C); file_handle.type = ZEND_HANDLE_FILENAME; file_handle.filename = filename; @@ -2453,8 +2453,8 @@ zend_destroy_file_handle(&file_handle TSRMLS_CC); zend_restore_lexical_state(&original_lex_state TSRMLS_CC); - php_output_get_contents(return_value); - php_output_discard(); + php_output_get_contents(return_value TSRMLS_CC); + php_output_discard(TSRMLS_C); return; } @@ -2476,7 +2476,7 @@ convert_to_string(expr); if (i) { - php_output_start_default(); + php_output_start_default(TSRMLS_C); } EG(error_reporting) = E_ERROR; @@ -2494,8 +2494,8 @@ EG(error_reporting) = old_error_reporting; if (i) { - php_output_get_contents(return_value); - php_output_discard(); + php_output_get_contents(return_value TSRMLS_CC); + php_output_discard(TSRMLS_C); } else { RETURN_TRUE; } @@ -2739,14 +2739,14 @@ } if (i) { - php_output_start_default(); + php_output_start_default(TSRMLS_C); } zend_print_zval_r(var, 0 TSRMLS_CC); if (i) { - php_output_get_contents(return_value); - php_output_discard(); + php_output_get_contents(return_value TSRMLS_CC); + php_output_discard(TSRMLS_C); } else { RETURN_TRUE; } http://cvs.php.net/viewcvs.cgi/php-src/ext/standard/head.c?r1=1.87&r2=1.88&diff_format=u Index: php-src/ext/standard/head.c diff -u php-src/ext/standard/head.c:1.87 php-src/ext/standard/head.c:1.88 --- php-src/ext/standard/head.c:1.87 Fri Jun 2 19:51:42 2006 +++ php-src/ext/standard/head.c Sat Jun 3 11:19:43 2006 @@ -15,7 +15,7 @@ | Author: Rasmus Lerdorf <rasmus@lerdorf.on.ca> | +----------------------------------------------------------------------+ */ -/* $Id: head.c,v 1.87 2006/06/02 19:51:42 mike Exp $ */ +/* $Id: head.c,v 1.88 2006/06/03 11:19:43 mike Exp $ */ #include <stdio.h> #include "php.h" @@ -200,8 +200,8 @@ return; if (SG(headers_sent)) { - line = php_output_get_start_lineno(); - file = php_output_get_start_filename(); + line = php_output_get_start_lineno(TSRMLS_C); + file = php_output_get_start_filename(TSRMLS_C); } switch(ZEND_NUM_ARGS()) { http://cvs.php.net/viewcvs.cgi/php-src/ext/standard/info.c?r1=1.264&r2=1.265&diff_format=u Index: php-src/ext/standard/info.c diff -u php-src/ext/standard/info.c:1.264 php-src/ext/standard/info.c:1.265 --- php-src/ext/standard/info.c:1.264 Fri Jun 2 19:51:42 2006 +++ php-src/ext/standard/info.c Sat Jun 3 11:19:43 2006 @@ -18,7 +18,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: info.c,v 1.264 2006/06/02 19:51:42 mike Exp $ */ +/* $Id: info.c,v 1.265 2006/06/03 11:19:43 mike Exp $ */ #include "php.h" #include "php_ini.h" @@ -999,9 +999,9 @@ } /* Andale! Andale! Yee-Hah! */ - php_output_start_default(); + php_output_start_default(TSRMLS_C); php_print_info(flag TSRMLS_CC); - php_output_end(); + php_output_end(TSRMLS_C); RETURN_TRUE; } http://cvs.php.net/viewcvs.cgi/php-src/ext/standard/url_scanner_ex.c?r1=1.102&r2=1.103&diff_format=u Index: php-src/ext/standard/url_scanner_ex.c diff -u php-src/ext/standard/url_scanner_ex.c:1.102 php-src/ext/standard/url_scanner_ex.c:1.103 --- php-src/ext/standard/url_scanner_ex.c:1.102 Fri Jun 2 19:51:42 2006 +++ php-src/ext/standard/url_scanner_ex.c Sat Jun 3 11:19:43 2006 @@ -1,4 +1,4 @@ -/* Generated by re2c 0.9.11 on Tue Feb 28 09:46:12 2006 */ +/* Generated by re2c 0.10.1 on Sat Jun 3 12:59:33 2006 */ #line 1 "ext/standard/url_scanner_ex.re" /* +----------------------------------------------------------------------+ @@ -18,7 +18,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: url_scanner_ex.c,v 1.102 2006/06/02 19:51:42 mike Exp $ */ +/* $Id: url_scanner_ex.c,v 1.103 2006/06/03 11:19:43 mike Exp $ */ #include "php.h" @@ -1035,11 +1035,15 @@ char *encoded; int encoded_len; smart_str val; + zval *ob_name; if (! BG(url_adapt_state_ex).active) { + MAKE_STD_ZVAL(ob_name); + ZVAL_ASCII_STRING(ob_name, "URL-Rewriter", ZSTR_DUPLICATE); php_url_scanner_ex_activate(TSRMLS_C); - php_output_start_internal("URL-Rewriter", php_url_scanner_output_handler, 0, PHP_OUTPUT_HANDLER_STDFLAGS); + php_output_start_internal(ob_name, php_url_scanner_output_handler, 0, PHP_OUTPUT_HANDLER_STDFLAGS TSRMLS_CC); BG(url_adapt_state_ex).active = 1; + zval_ptr_dtor(&ob_name); } http://cvs.php.net/viewcvs.cgi/php-src/ext/standard/url_scanner_ex.re?r1=1.79&r2=1.80&diff_format=u Index: php-src/ext/standard/url_scanner_ex.re diff -u php-src/ext/standard/url_scanner_ex.re:1.79 php-src/ext/standard/url_scanner_ex.re:1.80 --- php-src/ext/standard/url_scanner_ex.re:1.79 Fri Jun 2 19:51:42 2006 +++ php-src/ext/standard/url_scanner_ex.re Sat Jun 3 11:19:43 2006 @@ -16,7 +16,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: url_scanner_ex.re,v 1.79 2006/06/02 19:51:42 mike Exp $ */ +/* $Id: url_scanner_ex.re,v 1.80 2006/06/03 11:19:43 mike Exp $ */ #include "php.h" @@ -450,11 +450,15 @@ char *encoded; int encoded_len; smart_str val; + zval *ob_name; if (! BG(url_adapt_state_ex).active) { + MAKE_STD_ZVAL(ob_name); + ZVAL_ASCII_STRING(ob_name, "URL-Rewriter", ZSTR_DUPLICATE); php_url_scanner_ex_activate(TSRMLS_C); - php_output_start_internal("URL-Rewriter", php_url_scanner_output_handler, 0, PHP_OUTPUT_HANDLER_STDFLAGS); + php_output_start_internal(ob_name, php_url_scanner_output_handler, 0, PHP_OUTPUT_HANDLER_STDFLAGS TSRMLS_CC); BG(url_adapt_state_ex).active = 1; + zval_ptr_dtor(&ob_name); } http://cvs.php.net/viewcvs.cgi/php-src/ext/standard/var.c?r1=1.233&r2=1.234&diff_format=u Index: php-src/ext/standard/var.c diff -u php-src/ext/standard/var.c:1.233 php-src/ext/standard/var.c:1.234 --- php-src/ext/standard/var.c:1.233 Fri Jun 2 20:09:22 2006 +++ php-src/ext/standard/var.c Sat Jun 3 11:19:43 2006 @@ -18,7 +18,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: var.c,v 1.233 2006/06/02 20:09:22 mike Exp $ */ +/* $Id: var.c,v 1.234 2006/06/03 11:19:43 mike Exp $ */ @@ -602,7 +602,7 @@ } if (return_output) { - php_output_start_default(); + php_output_start_default(TSRMLS_C); } /* UTODO @@ -614,8 +614,8 @@ php_var_export(&var, 1 TSRMLS_CC); if (return_output) { - php_output_get_contents(return_value); - php_output_discard(); + php_output_get_contents(return_value TSRMLS_CC); + php_output_discard(TSRMLS_C); } } /* }}} */ http://cvs.php.net/viewcvs.cgi/php-src/ext/tidy/tidy.c?r1=1.87&r2=1.88&diff_format=u Index: php-src/ext/tidy/tidy.c diff -u php-src/ext/tidy/tidy.c:1.87 php-src/ext/tidy/tidy.c:1.88 --- php-src/ext/tidy/tidy.c:1.87 Fri Jun 2 19:51:42 2006 +++ php-src/ext/tidy/tidy.c Sat Jun 3 11:19:44 2006 @@ -16,7 +16,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: tidy.c,v 1.87 2006/06/02 19:51:42 mike Exp $ */ +/* $Id: tidy.c,v 1.88 2006/06/03 11:19:44 mike Exp $ */ #ifdef HAVE_CONFIG_H #include "config.h" @@ -987,8 +987,8 @@ if (INI_BOOL("tidy.clean_output") == TRUE) { zval *name; MAKE_STD_ZVAL(name); - ZVAL_ASCII_STRINGL(name, "ob_tidyhandler", sizeof("ob_tidyhandler"), ZSTR_DUPLICATE); - if (php_output_start_user(name, 0, PHP_OUTPUT_HANDLER_STDFLAGS) == FAILURE) { + ZVAL_ASCII_STRINGL(name, "ob_tidyhandler", sizeof("ob_tidyhandler")-1, ZSTR_DUPLICATE); + if (php_output_start_user(name, 0, PHP_OUTPUT_HANDLER_STDFLAGS TSRMLS_CC) == FAILURE) { zend_error(E_NOTICE, "Failure installing Tidy output buffering."); } zval_ptr_dtor(&name); @@ -1013,7 +1013,7 @@ php_info_print_table_start(); php_info_print_table_header(2, "Tidy support", "enabled"); php_info_print_table_row(2, "libTidy Release", (char *)tidyReleaseDate()); - php_info_print_table_row(2, "Extension Version", PHP_TIDY_MODULE_VERSION " ($Id: tidy.c,v 1.87 2006/06/02 19:51:42 mike Exp $)"); + php_info_print_table_row(2, "Extension Version", PHP_TIDY_MODULE_VERSION " ($Id: tidy.c,v 1.88 2006/06/03 11:19:44 mike Exp $)"); php_info_print_table_end(); DISPLAY_INI_ENTRIES(); http://cvs.php.net/viewcvs.cgi/php-src/ext/zlib/zlib.c?r1=1.195&r2=1.196&diff_format=u Index: php-src/ext/zlib/zlib.c diff -u php-src/ext/zlib/zlib.c:1.195 php-src/ext/zlib/zlib.c:1.196 --- php-src/ext/zlib/zlib.c:1.195 Fri Jun 2 20:09:22 2006 +++ php-src/ext/zlib/zlib.c Sat Jun 3 11:19:44 2006 @@ -19,7 +19,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: zlib.c,v 1.195 2006/06/02 20:09:22 mike Exp $ */ +/* $Id: zlib.c,v 1.196 2006/06/03 11:19:44 mike Exp $ */ #ifdef HAVE_CONFIG_H #include "config.h" @@ -219,7 +219,7 @@ php_stream_filter_register_factory("zlib.*", &php_zlib_filter_factory TSRMLS_CC); INIT_PZVAL(&tmp); ZVAL_ASCII_STRINGL(&tmp, "ob_gzhandler", sizeof("ob_gzhandler")-1, 0); - php_output_handler_conflict_register(&tmp, php_ob_gzhandler_check); + php_output_handler_conflict_register(&tmp, php_ob_gzhandler_check TSRMLS_CC); REGISTER_LONG_CONSTANT("FORCE_GZIP", CODING_GZIP, CONST_CS | CONST_PERSISTENT); REGISTER_LONG_CONSTANT("FORCE_DEFLATE", CODING_DEFLATE, CONST_CS | CONST_PERSISTENT); @@ -835,30 +835,30 @@ int php_ob_gzhandler_check(zval *handler_name TSRMLS_DC) { /* check for wrong usages */ - if (php_output_get_level() > 0) { + if (php_output_get_level(TSRMLS_C) > 0) { zval tmp; - if (php_output_handler_started(handler_name)) { + if (php_output_handler_started(handler_name TSRMLS_CC)) { php_error_docref("ref.outcontrol" TSRMLS_CC, E_WARNING, "output handler 'ob_gzhandler' cannot be used twice"); return FAILURE; } INIT_PZVAL(&tmp); ZVAL_ASCII_STRINGL(&tmp, "mb_output_handler", sizeof("mb_output_handler")-1, ZSTR_DUPLICATE); - if (php_output_handler_started(&tmp)) { + if (php_output_handler_started(&tmp TSRMLS_CC)) { zval_dtor(&tmp); php_error_docref("ref.outcontrol" TSRMLS_CC, E_WARNING, "output handler 'ob_gzhandler' cannot be used after 'mb_output_handler'"); return FAILURE; } zval_dtor(&tmp); ZVAL_ASCII_STRINGL(&tmp, "URL-Reqriter", sizeof("URL-Rewriter")-1, ZSTR_DUPLICATE); - if (php_output_handler_started(&tmp)) { + if (php_output_handler_started(&tmp TSRMLS_CC)) { zval_dtor(&tmp); php_error_docref("ref.outcontrol" TSRMLS_CC, E_WARNING, "output handler 'ob_gzhandler' cannot be used after 'URL-Rewriter'"); return FAILURE; } zval_dtor(&tmp); ZVAL_ASCII_STRINGL(&tmp, "zlib output compression", sizeof("zlib output compression")-1, ZSTR_DUPLICATE); - if (php_output_handler_conflict(handler_name, &tmp)) { + if (php_output_handler_conflict(handler_name, &tmp TSRMLS_CC)) { zval_dtor(&tmp); return FAILURE; } @@ -907,7 +907,7 @@ if (ZLIBG(ob_gzhandler_status == -1)) { /* don't call this handler any more */ - php_output_handler_hook(PHP_OUTPUT_HANDLER_HOOK_DISABLE, NULL); + php_output_handler_hook(PHP_OUTPUT_HANDLER_HOOK_DISABLE, NULL TSRMLS_CC); RETURN_FALSE; } @@ -952,12 +952,12 @@ if (return_original) { /* don't call this handler any more */ - php_output_handler_hook(PHP_OUTPUT_HANDLER_HOOK_DISABLE, NULL); + php_output_handler_hook(PHP_OUTPUT_HANDLER_HOOK_DISABLE, NULL TSRMLS_CC); /* return the original string */ RETURN_STRINGL(string, string_len, 1); } else { /* don't allow cleaning and removing any longer */ - php_output_handler_hook(PHP_OUTPUT_HANDLER_HOOK_IMMUTABLE, NULL); + php_output_handler_hook(PHP_OUTPUT_HANDLER_HOOK_IMMUTABLE, NULL TSRMLS_CC); } } /* }}} */ @@ -1006,13 +1006,13 @@ MAKE_STD_ZVAL(output_handler); ZVAL_ASCII_STRINGL(output_handler, "zlib output compression", sizeof("zlib output compression")-1, ZSTR_DUPLICATE); - php_output_start_internal(output_handler, php_gzip_output_handler, buffer_size, PHP_OUTPUT_HANDLER_STDFLAGS); + php_output_start_internal(output_handler, php_gzip_output_handler, buffer_size, PHP_OUTPUT_HANDLER_STDFLAGS TSRMLS_CC); zval_ptr_dtor(&output_handler); if (ZLIBG(output_handler) && *ZLIBG(output_handler)) { MAKE_STD_ZVAL(output_handler); ZVAL_ASCII_STRING(output_handler, ZLIBG(output_handler), ZSTR_DUPLICATE); - php_output_start_user(output_handler, 0, PHP_OUTPUT_HANDLER_STDFLAGS); + php_output_start_user(output_handler, 0, PHP_OUTPUT_HANDLER_STDFLAGS TSRMLS_CC); zval_ptr_dtor(&output_handler); } return SUCCESS; http://cvs.php.net/viewcvs.cgi/php-src/main/SAPI.c?r1=1.215&r2=1.216&diff_format=u Index: php-src/main/SAPI.c diff -u php-src/main/SAPI.c:1.215 php-src/main/SAPI.c:1.216 --- php-src/main/SAPI.c:1.215 Fri Jun 2 19:51:42 2006 +++ php-src/main/SAPI.c Sat Jun 3 11:19:44 2006 @@ -18,7 +18,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: SAPI.c,v 1.215 2006/06/02 19:51:42 mike Exp $ */ +/* $Id: SAPI.c,v 1.216 2006/06/03 11:19:44 mike Exp $ */ #include <ctype.h> #include <sys/stat.h> @@ -553,8 +553,8 @@ int http_response_code; if (SG(headers_sent) && !SG(request_info).no_headers) { - char *output_start_filename = php_output_get_start_filename(); - int output_start_lineno = php_output_get_start_lineno(); + char *output_start_filename = php_output_get_start_filename(TSRMLS_C); + int output_start_lineno = php_output_get_start_lineno(TSRMLS_C); if (output_start_filename) { sapi_module.sapi_error(E_WARNING, "Cannot modify header information - headers already sent by (output started at %s:%d)", http://cvs.php.net/viewcvs.cgi/php-src/main/main.c?r1=1.693&r2=1.694&diff_format=u Index: php-src/main/main.c diff -u php-src/main/main.c:1.693 php-src/main/main.c:1.694 --- php-src/main/main.c:1.693 Fri Jun 2 19:51:42 2006 +++ php-src/main/main.c Sat Jun 3 11:19:44 2006 @@ -18,7 +18,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: main.c,v 1.693 2006/06/02 19:51:42 mike Exp $ */ +/* $Id: main.c,v 1.694 2006/06/03 11:19:44 mike Exp $ */ /* {{{ includes */ @@ -232,10 +232,10 @@ } /* }}} */ -#define PHP_INI_OPTION_HEADERS_SENT(option_name) \ +#define PHP_INI_OPTION_HEADERS_SENT(option_name) \ if (SG(headers_sent)) { \ - char *output_start_filename = php_output_get_start_filename(); \ - int output_start_lineno = php_output_get_start_lineno(); \ + char *output_start_filename = php_output_get_start_filename(TSRMLS_C); \ + int output_start_lineno = php_output_get_start_lineno(TSRMLS_C); \ if (output_start_filename) { \ php_error_docref(NULL TSRMLS_CC, E_WARNING, "Option " #option_name " cannot be changed after headers have been sent (output started at %s:%d)", \ output_start_filename, output_start_lineno); \ @@ -1175,7 +1175,7 @@ zend_try { PG(during_request_startup) = 1; - php_output_activate(); + php_output_activate(TSRMLS_C); /* initialize global variables */ PG(modules_activated) = 0; @@ -1205,12 +1205,12 @@ MAKE_STD_ZVAL(oh); ZVAL_ASCII_STRING(oh, PG(output_handler), ZSTR_DUPLICATE); - php_output_start_user(oh, 0, PHP_OUTPUT_HANDLER_STDFLAGS); + php_output_start_user(oh, 0, PHP_OUTPUT_HANDLER_STDFLAGS TSRMLS_CC); zval_ptr_dtor(&oh); } else if (PG(output_buffering)) { - php_output_start_user(NULL, PG(output_buffering) > 1 ? PG(output_buffering) : 0, PHP_OUTPUT_HANDLER_STDFLAGS); + php_output_start_user(NULL, PG(output_buffering) > 1 ? PG(output_buffering) : 0, PHP_OUTPUT_HANDLER_STDFLAGS TSRMLS_CC); } else if (PG(implicit_flush)) { - php_output_set_implicit_flush(1); + php_output_set_implicit_flush(1 TSRMLS_CC); } /* We turn this off in php_execute_script() */ @@ -1240,7 +1240,7 @@ return FAILURE; } - php_output_activate(); + php_output_activate(TSRMLS_C); sapi_activate(TSRMLS_C); php_hash_environment(TSRMLS_C); @@ -1272,7 +1272,7 @@ return FAILURE; } - php_output_activate(); + php_output_activate(TSRMLS_C); sapi_activate_headers_only(TSRMLS_C); php_hash_environment(TSRMLS_C); @@ -1366,11 +1366,11 @@ /* 3. Flush all output buffers */ zend_try { if (SG(request_info).headers_only) { - php_output_discard_all(); + php_output_discard_all(TSRMLS_C); } else { - php_output_end_all(); + php_output_end_all(TSRMLS_C); } - php_output_deactivate(); + php_output_deactivate(TSRMLS_C); } zend_end_try(); /* 4. Send the set HTTP headers (note: This must be done AFTER php_end_ob_buffers() !!) */ @@ -1435,7 +1435,7 @@ static int php_output_wrapper(const char *str, uint str_length) { TSRMLS_FETCH(); - return php_output_write(str, str_length); + return php_output_write(str, str_length TSRMLS_CC); } /* }}} */ @@ -1665,7 +1665,7 @@ REGISTER_MAIN_STRINGL_CONSTANT("PHP_EOL", PHP_EOL, sizeof(PHP_EOL)-1, CONST_PERSISTENT | CONST_CS); REGISTER_MAIN_LONG_CONSTANT("PHP_INT_MAX", LONG_MAX, CONST_PERSISTENT | CONST_CS); REGISTER_MAIN_LONG_CONSTANT("PHP_INT_SIZE", sizeof(long), CONST_PERSISTENT | CONST_CS); - php_output_register_constants(); + php_output_register_constants(TSRMLS_C); php_rfc1867_register_constants(TSRMLS_C); if (php_startup_ticks(TSRMLS_C) == FAILURE) { @@ -1946,7 +1946,7 @@ TSRMLS_FETCH(); PG(connection_status) = PHP_CONNECTION_ABORTED; - php_output_set_status(PHP_OUTPUT_DISABLED); + php_output_set_status(PHP_OUTPUT_DISABLED TSRMLS_CC); if (!PG(ignore_user_abort)) { zend_bailout(); http://cvs.php.net/viewcvs.cgi/php-src/main/output.c?r1=1.178&r2=1.179&diff_format=u Index: php-src/main/output.c diff -u php-src/main/output.c:1.178 php-src/main/output.c:1.179 --- php-src/main/output.c:1.178 Fri Jun 2 19:51:42 2006 +++ php-src/main/output.c Sat Jun 3 11:19:44 2006 @@ -19,7 +19,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: output.c,v 1.178 2006/06/02 19:51:42 mike Exp $ */ +/* $Id: output.c,v 1.179 2006/06/03 11:19:44 mike Exp $ */ #ifndef PHP_OUTPUT_DEBUG # define PHP_OUTPUT_DEBUG 0 @@ -87,9 +87,9 @@ PHPAPI void php_output_startup(void) { ZEND_INIT_MODULE_GLOBALS(output, php_output_init_globals, NULL); - zend_hash_init(&php_output_handler_aliases, 0, NULL, NULL, 1); - zend_hash_init(&php_output_handler_conflicts, 0, NULL, NULL, 1); - zend_hash_init(&php_output_handler_reverse_conflicts, 0, NULL, (void (*)(void *)) zend_hash_destroy, 1); + zend_u_hash_init(&php_output_handler_aliases, 0, NULL, NULL, 1, 1); + zend_u_hash_init(&php_output_handler_conflicts, 0, NULL, NULL, 1, 1); + zend_u_hash_init(&php_output_handler_reverse_conflicts, 0, NULL, (void (*)(void *)) zend_hash_destroy, 1, 1); } /* }}} */ @@ -105,7 +105,7 @@ /* {{{ SUCCESS|FAILURE php_output_activate(TSRMLS_D) Reset output globals and setup the output handler stack */ -PHPAPI int _php_output_activate(TSRMLS_D) +PHPAPI int php_output_activate(TSRMLS_D) { #ifdef ZTS memset((*((void ***) tsrm_ls))[TSRM_UNSHUFFLE_RSRC_ID(output_globals_id)], 0, sizeof(zend_output_globals)); @@ -125,9 +125,9 @@ } /* }}} */ -/* {{{ void php_output_deactivate(TSRMLS_D) +/* {{{ void php_output_deactivate(TSRMLS_D) Destroy the output handler stack */ -PHPAPI void _php_output_deactivate(TSRMLS_D) +PHPAPI void php_output_deactivate(TSRMLS_D) { php_output_handler **handler = NULL; @@ -135,7 +135,7 @@ OG(running) = NULL; /* release all output handlers */ while (SUCCESS == zend_stack_top(&OG(handlers), (void *) &handler)) { - php_output_handler_free(handler); + php_output_handler_free(handler TSRMLS_CC); zend_stack_del_top(&OG(handlers)); } zend_stack_destroy(&OG(handlers)); @@ -145,8 +145,8 @@ } /* }}} */ -/* {{{ void _php_output_register_constants() */ -PHPAPI void _php_output_register_constants(TSRMLS_D) +/* {{{ void php_output_register_constants() */ +PHPAPI void php_output_register_constants(TSRMLS_D) { REGISTER_MAIN_LONG_CONSTANT("PHP_OUTPUT_HANDLER_START", PHP_OUTPUT_HANDLER_START, CONST_CS | CONST_PERSISTENT); REGISTER_MAIN_LONG_CONSTANT("PHP_OUTPUT_HANDLER_WRITE", PHP_OUTPUT_HANDLER_WRITE, CONST_CS | CONST_PERSISTENT); @@ -164,17 +164,17 @@ } /* }}} */ -/* {{{ void php_output_set_status(int status) +/* {{{ void php_output_set_status(int status TSRMLS_DC) Used by SAPIs to disable output */ -PHPAPI void _php_output_set_status(int status TSRMLS_DC) +PHPAPI void php_output_set_status(int status TSRMLS_DC) { OG(flags) = status & 0xf; } /* }}} */ -/* {{{ int php_output_get_status() +/* {{{ int php_output_get_status(TSRMLS_C) Get output control status */ -PHPAPI int _php_output_get_status(TSRMLS_D) +PHPAPI int php_output_get_status(TSRMLS_D) { return OG(flags) | (OG(active) ? PHP_OUTPUT_ACTIVE : 0) @@ -182,23 +182,23 @@ } /* }}} */ -/* {{{ zval *php_output_get_default_handler_name() */ -PHPAPI zval *_php_output_get_default_handler_name(TSRMLS_D) +/* {{{ zval *php_output_get_default_handler_name(TSRMLS_C) */ +PHPAPI zval *php_output_get_default_handler_name(TSRMLS_D) { return OG(default_output_handler_name); } /* }}} */ -/* {{{ zval *php_output_get_devnull_handler_name() */ -PHPAPI zval *_php_output_get_devnull_handler_name(TSRMLS_D) +/* {{{ zval *php_output_get_devnull_handler_name(TSRMLS_C) */ +PHPAPI zval *php_output_get_devnull_handler_name(TSRMLS_D) { return OG(devnull_output_handler_name); } /* }}} */ -/* {{{ int php_output_write_unbuffered(const char *str, size_t len) +/* {{{ int php_output_write_unbuffered(const char *str, size_t len TSRMLS_DC) Unbuffered write */ -PHPAPI int _php_output_write_unbuffered(const char *str, size_t len TSRMLS_DC) +PHPAPI int php_output_write_unbuffered(const char *str, size_t len TSRMLS_DC) { if (OG(flags) & PHP_OUTPUT_DISABLED) { return 0; @@ -207,9 +207,56 @@ } /* }}} */ -/* {{{ int php_output_write(const char *str, size_t len) +/* {{{ int php_output_write_ascii(const char *str, size_t len TSRMLS_DC) + Buffered ASCII write */ +PHPAPI int php_output_write_ascii(const char *str, size_t len TSRMLS_DC) +{ + UErrorCode status = U_ZERO_ERROR; + char *buf_str = NULL; + int buf_len = 0; + + if (OG(flags) & PHP_OUTPUT_DISABLED) { + return 0; + } + + zend_convert_encodings(UG(output_encoding_conv), UG(ascii_conv), + &buf_str, &buf_len, str, len, &status); + if (U_ZERO_ERROR == status) { + php_output_op(PHP_OUTPUT_HANDLER_WRITE, buf_str, buf_len TSRMLS_CC); + } + if (buf_str) { + efree(buf_str); + } + return (int) len; +} +/* }}} */ + +/* {{{ int php_output_write_unicode(const UChar *str, size_t len TSRMLS_DC) + Buffered Unicode write */ +PHPAPI int php_output_write_unicode(const UChar *str, size_t len TSRMLS_DC) +{ + UErrorCode status = U_ZERO_ERROR; + char *buf_str = NULL; + int buf_len = 0; + + if (OG(flags) & PHP_OUTPUT_DISABLED) { + return 0; + } + + zend_convert_from_unicode(UG(output_encoding_conv), &buf_str, &buf_len, str, len, &status); + if (U_ZERO_ERROR == status) { + php_output_op(PHP_OUTPUT_HANDLER_WRITE, buf_str, buf_len TSRMLS_CC); + } + if (buf_str) { + efree(buf_str); + } + return (int) len; +} +/* }}} */ + +/* {{{ int php_output_write(const char *str, size_t len TSRMLS_DC) Buffered write */ -PHPAPI int _php_output_write(const char *str, size_t len TSRMLS_DC) +PHPAPI int php_output_write(const char *str, size_t len TSRMLS_DC) { if (OG(flags) & PHP_OUTPUT_DISABLED) { return 0; @@ -219,9 +266,9 @@ } /* }}} */ -/* {{{ void php_output_flush() +/* {{{ void php_output_flush(TSRMLS_D) Flush the most recent output handlers buffer */ -PHPAPI void _php_output_flush(TSRMLS_D) +PHPAPI void php_output_flush(TSRMLS_D) { php_output_context context; @@ -230,7 +277,7 @@ php_output_handler_op(OG(active), &context); if (context.out.data && context.out.used) { zend_stack_del_top(&OG(handlers)); - php_output_write(context.out.data, context.out.used); + php_output_write(context.out.data, context.out.used TSRMLS_CC); zend_stack_push(&OG(handlers), &OG(active), sizeof(php_output_handler *)); } php_output_context_dtor(&context); @@ -238,9 +285,9 @@ } /* }}} */ -/* {{{ void php_output_flush_all() +/* {{{ void php_output_flush_all(TSRMLS_C) Flush all output buffers subsequently */ -PHPAPI void _php_output_flush_all(TSRMLS_D) +PHPAPI void php_output_flush_all(TSRMLS_D) { if (OG(active)) { php_output_op(PHP_OUTPUT_HANDLER_FLUSH, NULL, 0 TSRMLS_CC); @@ -248,9 +295,9 @@ } /* }}} */ -/* {{{ SUCCESS|FAILURE php_output_clean() +/* {{{ SUCCESS|FAILURE php_output_clean(TSRMLS_D) Cleans the most recent output handlers buffer if the handler is cleanable */ -PHPAPI int _php_output_clean(TSRMLS_D) +PHPAPI int php_output_clean(TSRMLS_D) { php_output_context context; @@ -265,9 +312,9 @@ } /* }}} */ -/* {{{ void php_output_clean_all() +/* {{{ void php_output_clean_all(TSRMLS_D) Cleans all output handler buffers, without regard whether the handler is cleanable */ -PHPAPI void _php_output_clean_all(TSRMLS_D) +PHPAPI void php_output_clean_all(TSRMLS_D) { php_output_context context; @@ -277,9 +324,9 @@ } } -/* {{{ SUCCESS|FAILURE php_output_end() +/* {{{ SUCCESS|FAILURE php_output_end(TSRMLS_D) Finalizes the most recent output handler at pops it off the stack if the handler is removable */ -PHPAPI int _php_output_end(TSRMLS_D) +PHPAPI int php_output_end(TSRMLS_D) { if (php_output_stack_pop(0, 0 TSRMLS_CC)) { return SUCCESS; @@ -288,17 +335,17 @@ } /* }}} */ -/* {{{ void php_output_end_all() +/* {{{ void php_output_end_all(TSRMLS_D) Finalizes all output handlers and ends output buffering without regard whether a handler is removable */ -PHPAPI void _php_output_end_all(TSRMLS_D) +PHPAPI void php_output_end_all(TSRMLS_D) { while (OG(active) && php_output_stack_pop(0, 1 TSRMLS_CC)); } /* }}} */ -/* {{{ SUCCESS|FAILURE php_output_discard() +/* {{{ SUCCESS|FAILURE php_output_discard(TSRMLS_D) Discards the most recent output handlers buffer and pops it off the stack if the handler is removable */ -PHPAPI int _php_output_discard(TSRMLS_D) +PHPAPI int php_output_discard(TSRMLS_D) { if (php_output_stack_pop(1, 0 TSRMLS_CC)) { return SUCCESS; @@ -307,9 +354,9 @@ } /* }}} */ -/* {{{ void php_output_discard_all() +/* {{{ void php_output_discard_all(TSRMLS_D) Discard all output handlers and buffers without regard whether a handler is removable */ -PHPAPI void _php_output_discard_all(TSRMLS_D) +PHPAPI void php_output_discard_all(TSRMLS_D) { while (OG(active)) { php_output_stack_pop(1, 1 TSRMLS_CC); @@ -317,17 +364,17 @@ } /* }}} */ -/* {{{ int php_output_get_level() +/* {{{ int php_output_get_level(TSRMLS_D) Get output buffering level, ie. how many output handlers the stack contains */ -PHPAPI int _php_output_get_level(TSRMLS_D) +PHPAPI int php_output_get_level(TSRMLS_D) { return OG(active) ? zend_stack_count(&OG(handlers)) : 0; } /* }}} */ -/* {{{ SUCCESS|FAILURE php_output_get_contents(zval *z) +/* {{{ SUCCESS|FAILURE php_output_get_contents(zval *z TSRMLS_DC) Get the contents of the active output handlers buffer */ -PHPAPI int _php_output_get_contents(zval *p TSRMLS_DC) +PHPAPI int php_output_get_contents(zval *p TSRMLS_DC) { if (OG(active)) { ZVAL_STRINGL(p, OG(active)->buffer.data, OG(active)->buffer.used, 1); @@ -338,9 +385,9 @@ } } -/* {{{ SUCCESS|FAILURE php_output_get_length(zval *z) +/* {{{ SUCCESS|FAILURE php_output_get_length(zval *z TSRMLS_DC) Get the length of the active output handlers buffer */ -PHPAPI int _php_output_get_length(zval *p TSRMLS_DC) +PHPAPI int php_output_get_length(zval *p TSRMLS_DC) { if (OG(active)) { ZVAL_LONG(p, OG(active)->buffer.used); @@ -352,74 +399,74 @@ } /* }}} */ -/* {{{ SUCCESS|FAILURE php_output_handler_start_default() +/* {{{ SUCCESS|FAILURE php_output_handler_start_default(TSRMLS_D) Start a "default output handler" */ -PHPAPI int _php_output_start_default(TSRMLS_D) +PHPAPI int php_output_start_default(TSRMLS_D) { php_output_handler *handler; - handler = php_output_handler_create_internal(OG(default_output_handler_name), php_output_handler_default_func, 0, PHP_OUTPUT_HANDLER_STDFLAGS); - if (SUCCESS == php_output_handler_start(handler)) { + handler = php_output_handler_create_internal(OG(default_output_handler_name), php_output_handler_default_func, 0, PHP_OUTPUT_HANDLER_STDFLAGS TSRMLS_CC); + if (SUCCESS == php_output_handler_start(handler TSRMLS_CC)) { return SUCCESS; } - php_output_handler_free(&handler); + php_output_handler_free(&handler TSRMLS_CC); return FAILURE; } /* }}} */ -/* {{{ SUCCESS|FAILURE php_output_handler_start_devnull() +/* {{{ SUCCESS|FAILURE php_output_handler_start_devnull(TSRMLS_D) Start a "null output handler" */ -PHPAPI int _php_output_start_devnull(TSRMLS_D) +PHPAPI int php_output_start_devnull(TSRMLS_D) { php_output_handler *handler; - handler = php_output_handler_create_internal(OG(devnull_output_handler_name), php_output_handler_devnull_func, PHP_OUTPUT_HANDLER_DEFAULT_SIZE, 0); - if (SUCCESS == php_output_handler_start(handler)) { + handler = php_output_handler_create_internal(OG(devnull_output_handler_name), php_output_handler_devnull_func, PHP_OUTPUT_HANDLER_DEFAULT_SIZE, 0 TSRMLS_CC); + if (SUCCESS == php_output_handler_start(handler TSRMLS_CC)) { return SUCCESS; } - php_output_handler_free(&handler); + php_output_handler_free(&handler TSRMLS_CC); return FAILURE; } /* }}} */ -/* {{{ SUCCESS|FAILURE php_output_start_user(zval *handler, size_t chunk_size, int flags) +/* {{{ SUCCESS|FAILURE php_output_start_user(zval *handler, size_t chunk_size, int flags TSRMLS_DC) Start a user level output handler */ -PHPAPI int _php_output_start_user(zval *output_handler, size_t chunk_size, int flags TSRMLS_DC) +PHPAPI int php_output_start_user(zval *output_handler, size_t chunk_size, int flags TSRMLS_DC) { php_output_handler *handler; if (output_handler) { - handler = php_output_handler_create_user(output_handler, chunk_size, flags); + handler = php_output_handler_create_user(output_handler, chunk_size, flags TSRMLS_CC); } else { - handler = php_output_handler_create_internal(OG(default_output_handler_name), php_output_handler_default_func, chunk_size, flags); + handler = php_output_handler_create_internal(OG(default_output_handler_name), php_output_handler_default_func, chunk_size, flags TSRMLS_CC); } - if (SUCCESS == php_output_handler_start(handler)) { + if (SUCCESS == php_output_handler_start(handler TSRMLS_CC)) { return SUCCESS; } - php_output_handler_free(&handler); + php_output_handler_free(&handler TSRMLS_CC); return FAILURE; } /* }}} */ -/* {{{ SUCCESS|FAILURE php_output_start_internal(const char *name, php_output_handler_func_t handler, size_t chunk_size, int flags) +/* {{{ SUCCESS|FAILURE php_output_start_internal(zval *name, php_output_handler_func_t handler, size_t chunk_size, int flags TSRMLS_DC) Start an internal output handler that does not have to maintain a non-global state */ -PHPAPI int _php_output_start_internal(zval *name, php_output_handler_func_t output_handler, size_t chunk_size, int flags TSRMLS_DC) +PHPAPI int php_output_start_internal(zval *name, php_output_handler_func_t output_handler, size_t chunk_size, int flags TSRMLS_DC) { php_output_handler *handler; - handler = php_output_handler_create_internal(name, php_output_handler_compat_func, chunk_size, flags); - php_output_handler_set_context(handler, output_handler, NULL); - if (SUCCESS == php_output_handler_start(handler)) { + handler = php_output_handler_create_internal(name, php_output_handler_compat_func, chunk_size, flags TSRMLS_CC); + php_output_handler_set_context(handler, output_handler, NULL TSRMLS_CC); + if (SUCCESS == php_output_handler_start(handler TSRMLS_CC)) { return SUCCESS; } - php_output_handler_free(&handler); + php_output_handler_free(&handler TSRMLS_CC); return FAILURE; } /* }}} */ -/* {{{ php_output_handler *php_output_handler_create_user(zval *handler, size_t chunk_size, int flags) +/* {{{ php_output_handler *php_output_handler_create_user(zval *handler, size_t chunk_size, int flags TSRMLS_DC) Create a user level output handler */ -PHPAPI php_output_handler *_php_output_handler_create_user(zval *output_handler, size_t chunk_size, int flags TSRMLS_DC) +PHPAPI php_output_handler *php_output_handler_create_user(zval *output_handler, size_t chunk_size, int flags TSRMLS_DC) { zval *handler_name = NULL; php_output_handler *handler = NULL; @@ -430,8 +477,8 @@ break; case IS_STRING: case IS_UNICODE: - if (Z_UNILEN_P(output_handler) && (internal = php_output_handler_alias(output_handler))) { - return php_output_handler_create_internal(output_handler, *internal, chunk_size, flags); + if (Z_UNILEN_P(output_handler) && (internal = php_output_handler_alias(output_handler TSRMLS_CC))) { + return php_output_handler_create_internal(output_handler, *internal, chunk_size, flags TSRMLS_CC); } default: MAKE_STD_ZVAL(handler_name); @@ -445,13 +492,13 @@ return handler; } - return php_output_handler_create_internal(OG(default_output_handler_name), php_output_handler_default_func, chunk_size, flags); + return php_output_handler_create_internal(OG(default_output_handler_name), php_output_handler_default_func, chunk_size, flags TSRMLS_CC); } /* }}} */ -/* {{{ php_output_handler *php_output_handler_create_internal(const char *name, php_output_handler_context_func_t handler, size_t chunk_size, int flags) +/* {{{ php_output_handler *php_output_handler_create_internal(zval *name, php_output_handler_context_func_t handler, size_t chunk_size, int flags TSRMLS_DC) Create an internal output handler that can maintain a non-global state */ -PHPAPI php_output_handler *_php_output_handler_create_internal(zval *name, php_output_handler_context_func_t output_handler, size_t chunk_size, int flags TSRMLS_DC) +PHPAPI php_output_handler *php_output_handler_create_internal(zval *name, php_output_handler_context_func_t output_handler, size_t chunk_size, int flags TSRMLS_DC) { php_output_handler *handler; @@ -461,9 +508,9 @@ return handler; } -/* {{{ void php_output_handler_set_context(php_output_handler *handler, void *opaq, void (*dtor)(void* TSRMLS_DC)) +/* {{{ void php_output_handler_set_context(php_output_handler *handler, void *opaq, void (*dtor)(void* TSRMLS_DC) TSRMLS_DC) Set the context/state of an output handler. Calls the dtor of the previous context if there is one */ -PHPAPI void _php_output_handler_set_context(php_output_handler *handler, void *opaq, void (*dtor)(void* TSRMLS_DC) TSRMLS_DC) +PHPAPI void php_output_handler_set_context(php_output_handler *handler, void *opaq, void (*dtor)(void* TSRMLS_DC) TSRMLS_DC) { if (handler->dtor && handler->opaq) { handler->dtor(handler->opaq TSRMLS_CC); @@ -473,9 +520,9 @@ } /* }}} */ -/* {{{ SUCCESS|FAILURE php_output_handler_start(php_output_handler *handler) +/* {{{ SUCCESS|FAILURE php_output_handler_start(php_output_handler *handler TSRMLS_DC) Starts the set up output handler and pushes it on top of the stack. Checks for any conflicts regarding the output handler to start */ -PHPAPI int _php_output_handler_start(php_output_handler *handler TSRMLS_DC) +PHPAPI int php_output_handler_start(php_output_handler *handler TSRMLS_DC) { HashTable *rconflicts; php_output_handler_conflict_check_t *conflict; @@ -506,12 +553,12 @@ } /* }}} */ -/* {{{ int php_output_handler_started(const char *name) +/* {{{ int php_output_handler_started(zval *name TSRMLS_DC) Check whether a certain output handler is in use */ -PHPAPI int _php_output_handler_started(zval *name TSRMLS_DC) +PHPAPI int php_output_handler_started(zval *name TSRMLS_DC) { php_output_handler **handlers; - int i, count = php_output_get_level(); + int i, count = php_output_get_level(TSRMLS_C); if (count) { handlers = *(php_output_handler ***) zend_stack_base(&OG(handlers)); @@ -527,11 +574,11 @@ } /* }}} */ -/* {{{ int php_output_handler_conflict(const char *handler_new, const char *handler_old) +/* {{{ int php_output_handler_conflict(zval *handler_new, zval *handler_old TSRMLS_DC) Check whether a certain handler is in use and issue a warning that the new handler would conflict with the already used one */ -PHPAPI int _php_output_handler_conflict(zval *handler_new, zval *handler_set TSRMLS_DC) +PHPAPI int php_output_handler_conflict(zval *handler_new, zval *handler_set TSRMLS_DC) { - if (php_output_handler_started(handler_set)) { + if (php_output_handler_started(handler_set TSRMLS_CC)) { php_error_docref("ref.outcontrol" TSRMLS_CC, E_WARNING, "output handler '%v' conflicts with '%v'", Z_UNIVAL_P(handler_new), Z_UNIVAL_P(handler_set)); return 1; } @@ -539,9 +586,9 @@ } /* }}} */ -/* {{{ SUCCESS|FAILURE php_output_handler_conflict_register(const char name[], php_output_handler_conflict_check_t check_func) +/* {{{ SUCCESS|FAILURE php_output_handler_conflict_register(zval *name, php_output_handler_conflict_check_t check_func TSRMLS_DC) Register a conflict checking function on MINIT */ -PHPAPI int _php_output_handler_conflict_register(zval *name, php_output_handler_conflict_check_t check_func TSRMLS_DC) +PHPAPI int php_output_handler_conflict_register(zval *name, php_output_handler_conflict_check_t check_func TSRMLS_DC) { if (!EG(current_module)) { zend_error(E_ERROR, "Cannot register an output handler conflict outside of MINIT"); @@ -551,9 +598,9 @@ } /* }}} */ -/* {{{ SUCCESS|FAILURE php_output_handler_reverse_conflict_register(const char name[], php_output_handler_conflict_check_t check_func) +/* {{{ SUCCESS|FAILURE php_output_handler_reverse_conflict_register(zval *name, php_output_handler_conflict_check_t check_func TSRMLS_DC) Register a reverse conflict checking function on MINIT */ -PHPAPI int _php_output_handler_reverse_conflict_register(zval *name, php_output_handler_conflict_check_t check_func TSRMLS_DC) +PHPAPI int php_output_handler_reverse_conflict_register(zval *name, php_output_handler_conflict_check_t check_func TSRMLS_DC) { HashTable rev, *rev_ptr = NULL; @@ -564,7 +611,7 @@ if (SUCCESS == zend_u_hash_find(&php_output_handler_reverse_conflicts, Z_TYPE_P(name), Z_UNIVAL_P(name), Z_UNILEN_P(name), (void *) &rev_ptr)) { return zend_hash_next_index_insert(rev_ptr, &check_func, sizeof(php_output_handler_conflict_check_t *), NULL); } else { - zend_hash_init(&rev, 1, NULL, NULL, 1); + zend_u_hash_init(&rev, 1, NULL, NULL, 1, 1); if (SUCCESS != zend_hash_next_index_insert(&rev, &check_func, sizeof(php_output_handler_conflict_check_t *), NULL)) { zend_hash_destroy(&rev); return FAILURE; @@ -578,9 +625,9 @@ } /* }}} */ -/* {{{ php_output_handler_context_func_t php_output_handler_alias(const char[] name) +/* {{{ php_output_handler_context_func_t php_output_handler_alias(zval *name TSRMLS_DC) Get an internal output handler for a user handler if it exists */ -PHPAPI php_output_handler_context_func_t *_php_output_handler_alias(zval *name TSRMLS_DC) +PHPAPI php_output_handler_context_func_t *php_output_handler_alias(zval *name TSRMLS_DC) { php_output_handler_context_func_t *func = NULL; @@ -589,9 +636,9 @@ } /* }}} */ -/* {{{ SUCCESS|FAILURE php_output_handler_alias_register(const char[] name, php_output_handler_context_func_t func) - Registers an internal output handler as alias for a user handler */ -PHPAPI int _php_output_handler_alias_register_ex(zval *name, php_output_handler_context_func_t func TSRMLS_DC) +/* {{{ SUCCESS|FAILURE php_output_handler_alias_register(zval *name, php_output_handler_context_func_t func TSRMLS_DC) ++ Registers an internal output handler as alias for a user handler */ +PHPAPI int php_output_handler_alias_register_ex(zval *name, php_output_handler_context_func_t func TSRMLS_DC) { if (!EG(current_module)) { zend_error(E_ERROR, "Cannot register an output handler alias outside of MINIT"); @@ -601,9 +648,9 @@ } /* }}} */ -/* {{{ SUCCESS|FAILURE php_output_handler_hook(int type, void *arg) +/* {{{ SUCCESS|FAILURE php_output_handler_hook(int type, void *arg TSMRLS_DC) Output handler hook for output handler functions to check/modify the current handlers abilities */ -PHPAPI int _php_output_handler_hook(int type, void *arg TSRMLS_DC) +PHPAPI int php_output_handler_hook(int type, void *arg TSRMLS_DC) { if (OG(running)) { switch (type) { @@ -625,9 +672,9 @@ } /* }}} */ -/* {{{ void php_output_handler_dtor(php_output_handler *handler) +/* {{{ void php_output_handler_dtor(php_output_handler *handler TSRMLS_DC) Destroy an output handler */ -PHPAPI void _php_output_handler_dtor(php_output_handler *handler TSRMLS_DC) +PHPAPI void php_output_handler_dtor(php_output_handler *handler TSRMLS_DC) { zval_ptr_dtor(&handler->name); STR_FREE(handler->buffer.data); @@ -641,21 +688,21 @@ } /* }}} */ -/* {{{ void php_output_handler_free(php_output_handler **handler) +/* {{{ void php_output_handler_free(php_output_handler **handler TSMRLS_DC) Destroy and free an output handler */ -PHPAPI void _php_output_handler_free(php_output_handler **h TSRMLS_DC) +PHPAPI void php_output_handler_free(php_output_handler **h TSRMLS_DC) { if (*h) { - php_output_handler_dtor(*h); + php_output_handler_dtor(*h TSRMLS_CC); efree(*h); *h = NULL; } } /* }}} */ -/* void php_output_set_implicit_flush(int enabled) +/* void php_output_set_implicit_flush(int enabled TSRMLS_DC) Enable or disable implicit flush */ -PHPAPI void _php_output_set_implicit_flush(int flush TSRMLS_DC) +PHPAPI void php_output_set_implicit_flush(int flush TSRMLS_DC) { if (flush) { OG(flags) |= PHP_OUTPUT_IMPLICITFLUSH; @@ -665,17 +712,17 @@ } /* }}} */ -/* {{{ char *php_output_get_start_filename() +/* {{{ char *php_output_get_start_filename(TSRMLS_D) Get the file name where output has started */ -PHPAPI char *_php_output_get_start_filename(TSRMLS_D) +PHPAPI char *php_output_get_start_filename(TSRMLS_D) { return OG(output_start_filename); } /* }}} */ -/* {{{ int php_output_get_start_lineno() +/* {{{ int php_output_get_start_lineno(TSRMLS_D) Get the line number where output has started */ -PHPAPI int _php_output_get_start_lineno(TSRMLS_D) +PHPAPI int php_output_get_start_lineno(TSRMLS_D) { return OG(output_start_lineno); } @@ -688,7 +735,7 @@ /* if there's no ob active, ob has been stopped */ if (op && OG(active) && OG(running)) { /* fatal error */ - php_output_deactivate(); + php_output_deactivate(TSRMLS_C); php_error_docref("ref.outcontrol" TSRMLS_CC, E_ERROR, "Cannot use output buffering in output buffering display handlers"); return 1; } @@ -1148,11 +1195,11 @@ /* pass output along */ if (context.out.data && context.out.used && !discard) { - php_output_write(context.out.data, context.out.used); + php_output_write(context.out.data, context.out.used TSRMLS_CC); } /* destroy the handler (after write!) */ - php_output_handler_free(&orphan); + php_output_handler_free(&orphan TSRMLS_CC); php_output_context_dtor(&context); return 1; @@ -1185,6 +1232,7 @@ output_context->out.free = output_context->in.free; output_context->in.data = NULL; output_context->in.used = 0; + output_context->in.free = 0; return SUCCESS; } /* }}} */ @@ -1216,7 +1264,7 @@ chunk_size = 0; } - if (SUCCESS != php_output_start_user(output_handler, chunk_size, flags)) { + if (SUCCESS != php_output_start_user(output_handler, chunk_size, flags TSRMLS_CC)) { php_error_docref("ref.outcontrol" TSRMLS_CC, E_NOTICE, "failed to create buffer."); RETURN_FALSE; } @@ -1237,7 +1285,7 @@ RETURN_FALSE; } - php_output_flush(); + php_output_flush(TSRMLS_C); RETURN_TRUE; } /* }}} */ @@ -1255,7 +1303,7 @@ php_error_docref("ref.outcontrol" TSRMLS_CC, E_NOTICE, "failed to delete buffer. No buffer to delete."); RETURN_FALSE; } - if (SUCCESS != php_output_clean()) { + if (SUCCESS != php_output_clean(TSRMLS_C)) { php_error_docref("ref.outcontrol" TSRMLS_CC, E_NOTICE, "failed to delete buffer %s.", OG(active)->name); RETURN_FALSE; } @@ -1275,7 +1323,7 @@ php_error_docref("ref.outcontrol" TSRMLS_CC, E_NOTICE, "failed to delete and flush buffer. No buffer to delete or flush."); RETURN_FALSE; } - if (SUCCESS != php_output_end()) { + if (SUCCESS != php_output_end(TSRMLS_C)) { php_error_docref("ref.outcontrol" TSRMLS_CC, E_NOTICE, "failed to delete buffer %s.", OG(active)->name); RETURN_FALSE; } @@ -1295,7 +1343,7 @@ php_error_docref("ref.outcontrol" TSRMLS_CC, E_NOTICE, "failed to delete buffer. No buffer to delete."); RETURN_FALSE; } - if (SUCCESS != php_output_discard()) { + if (SUCCESS != php_output_discard(TSRMLS_C)) { php_error_docref("ref.outcontrol" TSRMLS_CC, E_NOTICE, "failed to delete buffer %s.", OG(active)->name); RETURN_FALSE; } @@ -1311,11 +1359,11 @@ ZEND_WRONG_PARAM_COUNT(); } - if (SUCCESS != php_output_get_contents(return_value)) { + if (SUCCESS != php_output_get_contents(return_value TSRMLS_CC)) { php_error_docref("ref.outcontrol" TSRMLS_CC, E_NOTICE, "failed to delete and flush buffer. No buffer to delete or flush."); RETURN_FALSE; } - if (SUCCESS != php_output_end()) { + if (SUCCESS != php_output_end(TSRMLS_C)) { php_error_docref("ref.outcontrol" TSRMLS_CC, E_NOTICE, "failed to delete buffer %s.", OG(active)->name); } } @@ -1329,11 +1377,11 @@ ZEND_WRONG_PARAM_COUNT(); } - if (SUCCESS != php_output_get_contents(return_value)) { + if (SUCCESS != php_output_get_contents(return_value TSRMLS_CC)) { php_error_docref("ref.outcontrol" TSRMLS_CC, E_NOTICE, "failed to delete buffer. No buffer to delete."); RETURN_FALSE; } - if (SUCCESS != php_output_discard()) { + if (SUCCESS != php_output_discard(TSRMLS_C)) { php_error_docref("ref.outcontrol" TSRMLS_CC, E_NOTICE, "failed to delete buffer %s.", OG(active)->name); } } @@ -1346,7 +1394,7 @@ if (ZEND_NUM_ARGS()) { ZEND_WRONG_PARAM_COUNT(); } - if (SUCCESS != php_output_get_contents(return_value)) { + if (SUCCESS != php_output_get_contents(return_value TSRMLS_CC)) { RETURN_FALSE; } } @@ -1359,7 +1407,7 @@ if (ZEND_NUM_ARGS()) { ZEND_WRONG_PARAM_COUNT(); } - RETURN_LONG(php_output_get_level()); + RETURN_LONG(php_output_get_level(TSRMLS_C)); } /* }}} */ @@ -1370,7 +1418,7 @@ if (ZEND_NUM_ARGS()) { ZEND_WRONG_PARAM_COUNT(); } - if (SUCCESS != php_output_get_length(return_value)) { + if (SUCCESS != php_output_get_length(return_value TSRMLS_CC)) { RETURN_FALSE; } } @@ -1422,7 +1470,7 @@ long flag = 1; if (SUCCESS == zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "|l", &flag)) { - php_output_set_implicit_flush(flag); + php_output_set_implicit_flush(flag TSRMLS_CC); } } /* }}} */ http://cvs.php.net/viewcvs.cgi/php-src/main/php_output.h?r1=1.56&r2=1.57&diff_format=u Index: php-src/main/php_output.h diff -u php-src/main/php_output.h:1.56 php-src/main/php_output.h:1.57 --- php-src/main/php_output.h:1.56 Fri Jun 2 19:51:42 2006 +++ php-src/main/php_output.h Sat Jun 3 11:19:44 2006 @@ -16,7 +16,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: php_output.h,v 1.56 2006/06/02 19:51:42 mike Exp $ */ +/* $Id: php_output.h,v 1.57 2006/06/03 11:19:44 mike Exp $ */ #ifndef PHP_OUTPUT_H #define PHP_OUTPUT_H @@ -137,29 +137,29 @@ #endif /* convenience macros */ -#define PHPWRITE(str, str_len) php_output_write((str), (str_len)) -#define PHPWRITE_H(str, str_len) php_output_write_unbuffered((str), (str_len)) +#define PHPWRITE(str, str_len) php_output_write((str), (str_len) TSRMLS_CC) +#define PHPWRITE_H(str, str_len) php_output_write_unbuffered((str), (str_len) TSRMLS_CC) -#define PUTC(c) (php_output_write(&(c), 1), (c)) -#define PUTC_H(c) (php_output_write_unbuffered(&(c), 1), (c)) +#define PUTC(c) (php_output_write(&(c), 1 TSRMLS_CC), (c)) +#define PUTC_H(c) (php_output_write_unbuffered(&(c), 1 TSRMLS_CC), (c)) #define PUTS(str) do { \ const char *__str = (str); \ - php_output_write(__str, strlen(__str)); \ + php_output_write(__str, strlen(__str) TSRMLS_CC); \ } while (0) -#define PUTS_H(str) do { \ - const char *__str = (str); \ - php_output_write_unbuffered(__str, strlen(__str)); \ +#define PUTS_H(str) do { \ + const char *__str = (str); \ + php_output_write_unbuffered(__str, strlen(__str) TSRMLS_CC); \ } while (0) BEGIN_EXTERN_C() #define php_output_tearup() \ php_output_startup(); \ - php_output_activate() + php_output_activate(TSRMLS_C) #define php_output_teardown() \ - php_output_end_all(); \ - php_output_deactivate(); \ + php_output_end_all(TSRMLS_C); \ + php_output_deactivate(TSRMLS_C); \ php_output_shutdown() /* MINIT */ @@ -167,132 +167,62 @@ /* MSHUTDOWN */ PHPAPI void php_output_shutdown(void); -#define php_output_register_constants() _php_output_register_constants(TSRMLS_C) -PHPAPI void _php_output_register_constants(TSRMLS_D); +PHPAPI void php_output_register_constants(TSRMLS_D); /* RINIT */ -#define php_output_activate() _php_output_activate(TSRMLS_C) -PHPAPI int _php_output_activate(TSRMLS_D); +PHPAPI int php_output_activate(TSRMLS_D); /* RSHUTDOWN */ -#define php_output_deactivate() _php_output_deactivate(TSRMLS_C) -PHPAPI void _php_output_deactivate(TSRMLS_D); - - -#define php_output_get_default_handler_name() _php_output_get_default_handler_name(TSRMLS_C) -PHPAPI zval *_php_output_get_default_handler_name(TSRMLS_D); - -#define php_output_get_devnull_handler_name() _php_output_get_devnull_handler_name(TSRMLS_C) -PHPAPI zval *_php_output_get_devnull_handler_name(TSRMLS_D); - - -#define php_output_set_status(s) _php_output_set_status((s) TSRMLS_CC) -PHPAPI void _php_output_set_status(int status TSRMLS_DC); - -#define php_output_get_status() _php_output_get_status(TSRMLS_C) -PHPAPI int _php_output_get_status(TSRMLS_D); - -#define php_output_write_unbuffered(s, l) _php_output_write_unbuffered((s), (l) TSRMLS_CC) -PHPAPI int _php_output_write_unbuffered(const char *str, size_t len TSRMLS_DC); - -#define php_output_write(s, l) _php_output_write((s), (l) TSRMLS_CC) -PHPAPI int _php_output_write(const char *str, size_t len TSRMLS_DC); - -#define php_output_flush() _php_output_flush(TSRMLS_C) -PHPAPI void _php_output_flush(TSRMLS_D); - -#define php_output_flush_all() _php_output_flush_all(TSRMLS_C) -PHPAPI void _php_output_flush_all(TSRMLS_D); - -#define php_output_clean() _php_output_clean(TSRMLS_C) -PHPAPI int _php_output_clean(TSRMLS_D); - -#define php_output_clean_all() _php_output_clean_all(TSRMLS_C) -PHPAPI void _php_output_clean_all(TSRMLS_D); - -#define php_output_end() _php_output_end(TSRMLS_C) -PHPAPI int _php_output_end(TSRMLS_D); - -#define php_output_end_all() _php_output_end_all(TSRMLS_C) -PHPAPI void _php_output_end_all(TSRMLS_D); - -#define php_output_discard() _php_output_discard(TSRMLS_C) -PHPAPI int _php_output_discard(TSRMLS_D); - -#define php_output_discard_all() _php_output_discard_all(TSRMLS_C) -PHPAPI void _php_output_discard_all(TSRMLS_D); - - -#define php_output_get_contents(p) _php_output_get_contents((p) TSRMLS_CC) -PHPAPI int _php_output_get_contents(zval *p TSRMLS_DC); - -#define php_output_get_length(p) _php_output_get_length((p) TSRMLS_CC) -PHPAPI int _php_output_get_length(zval *TSRMLS_DC); - -#define php_output_get_level() _php_output_get_level(TSRMLS_C) -PHPAPI int _php_output_get_level(TSRMLS_D); - - -#define php_output_start_default() _php_output_start_default(TSRMLS_C) -PHPAPI int _php_output_start_default(TSRMLS_D); - -#define php_output_start_devnull() _php_output_start_devnull(TSRMLS_C) -PHPAPI int _php_output_start_devnull(TSRMLS_D); - -#define php_output_start_user(h, s, f) _php_output_start_user((h), (s), (f) TSRMLS_CC) -PHPAPI int _php_output_start_user(zval *output_handler, size_t chunk_size, int flags TSRMLS_DC); - -#define php_output_start_internal(n, h, s, f) _php_output_start_internal((n), (h), (s), (f) TSRMLS_CC) -PHPAPI int _php_output_start_internal(zval *name, php_output_handler_func_t output_handler, size_t chunk_size, int flags TSRMLS_DC); - -#define php_output_handler_create_user(h, s, f) _php_output_handler_create_user((h), (s), (f) TSRMLS_CC) -PHPAPI php_output_handler *_php_output_handler_create_user(zval *handler, size_t chunk_size, int flags TSRMLS_DC); - -#define php_output_handler_create_internal(n, h, s, f) _php_output_handler_create_internal((n), (h), (s), (f) TSRMLS_CC) -PHPAPI php_output_handler *_php_output_handler_create_internal(zval *name, php_output_handler_context_func_t handler, size_t chunk_size, int flags TSRMLS_DC); - -#define php_output_handler_set_context(h, c, d) _php_output_handler_set_context((h), (c), (d) TSRMLS_CC) -PHPAPI void _php_output_handler_set_context(php_output_handler *handler, void *opaq, void (*dtor)(void* TSRMLS_DC) TSRMLS_DC); - -#define php_output_handler_start(h) _php_output_handler_start((h) TSRMLS_CC) -PHPAPI int _php_output_handler_start(php_output_handler *handler TSRMLS_DC); - -#define php_output_handler_started(n) _php_output_handler_started((n) TSRMLS_CC) -PHPAPI int _php_output_handler_started(zval *name TSRMLS_DC); - -#define php_output_handler_hook(t, a) _php_output_handler_hook((t), (a) TSRMLS_CC) -PHPAPI int _php_output_handler_hook(int type, void *arg TSRMLS_DC); - -#define php_output_handler_dtor(h) _php_output_handler_dtor((h) TSRMLS_CC) -PHPAPI void _php_output_handler_dtor(php_output_handler *handler TSRMLS_DC); - -#define php_output_handler_free(h) _php_output_handler_free((h) TSRMLS_CC) -PHPAPI void _php_output_handler_free(php_output_handler **handler TSRMLS_DC); - - -#define php_output_set_implicit_flush(f) _php_output_set_implicit_flush((f) TSRMLS_CC) -PHPAPI void _php_output_set_implicit_flush(int flush TSRMLS_DC); - -#define php_output_get_start_filename() _php_output_get_start_filename(TSRMLS_C) -PHPAPI char *_php_output_get_start_filename(TSRMLS_D); - -#define php_output_get_start_lineno() _php_output_get_start_lineno(TSRMLS_C) -PHPAPI int _php_output_get_start_lineno(TSRMLS_D); - - -#define php_output_handler_conflict(n, s) _php_output_handler_conflict((n), (s) TSRMLS_CC) -PHPAPI int _php_output_handler_conflict(zval *handler_new, zval *handler_set TSRMLS_DC); - -#define php_output_handler_conflict_register(n, f) _php_output_handler_conflict_register((n), (f) TSRMLS_CC) -PHPAPI int _php_output_handler_conflict_register(zval *handler_name, php_output_handler_conflict_check_t check_func TSRMLS_DC); +PHPAPI void php_output_deactivate(TSRMLS_D); -#define php_output_handler_reverse_conflict_register(n, f) _php_output_handler_reverse_conflict_register((n), (f) TSRMLS_CC) -PHPAPI int _php_output_handler_reverse_conflict_register(zval *handler_name, php_output_handler_conflict_check_t check_func TSRMLS_DC); +PHPAPI zval *php_output_get_default_handler_name(TSRMLS_D); +PHPAPI zval *php_output_get_devnull_handler_name(TSRMLS_D); -#define php_output_handler_alias(n) _php_output_handler_alias((n) TSRMLS_CC) -PHPAPI php_output_handler_context_func_t *_php_output_handler_alias(zval *handler_name TSRMLS_DC); +PHPAPI void php_output_set_status(int status TSRMLS_DC); +PHPAPI int php_output_get_status(TSRMLS_D); +PHPAPI void php_output_set_implicit_flush(int flush TSRMLS_DC); +PHPAPI char *php_output_get_start_filename(TSRMLS_D); +PHPAPI int php_output_get_start_lineno(TSRMLS_D); + +PHPAPI int php_output_write_unbuffered(const char *str, size_t len TSRMLS_DC); +PHPAPI int php_output_write_unicode(const UChar *str, size_t len TSRMLS_DC); +PHPAPI int php_output_write_ascii(const char *str, size_t len TSRMLS_DC); +PHPAPI int php_output_write(const char *str, size_t len TSRMLS_DC); + +PHPAPI void php_output_flush(TSRMLS_D); +PHPAPI void php_output_flush_all(TSRMLS_D); +PHPAPI int php_output_clean(TSRMLS_D); +PHPAPI void php_output_clean_all(TSRMLS_D); +PHPAPI int php_output_end(TSRMLS_D); +PHPAPI void php_output_end_all(TSRMLS_D); +PHPAPI int php_output_discard(TSRMLS_D); +PHPAPI void php_output_discard_all(TSRMLS_D); + +PHPAPI int php_output_get_contents(zval *p TSRMLS_DC); +PHPAPI int php_output_get_length(zval *TSRMLS_DC); +PHPAPI int php_output_get_level(TSRMLS_D); + +PHPAPI int php_output_start_default(TSRMLS_D); +PHPAPI int php_output_start_devnull(TSRMLS_D); + +PHPAPI int php_output_start_user(zval *output_handler, size_t chunk_size, int flags TSRMLS_DC); +PHPAPI int php_output_start_internal(zval *name, php_output_handler_func_t output_handler, size_t chunk_size, int flags TSRMLS_DC); + +PHPAPI php_output_handler *php_output_handler_create_user(zval *handler, size_t chunk_size, int flags TSRMLS_DC); +PHPAPI php_output_handler *php_output_handler_create_internal(zval *name, php_output_handler_context_func_t handler, size_t chunk_size, int flags TSRMLS_DC); + +PHPAPI void php_output_handler_set_context(php_output_handler *handler, void *opaq, void (*dtor)(void* TSRMLS_DC) TSRMLS_DC); +PHPAPI int php_output_handler_start(php_output_handler *handler TSRMLS_DC); +PHPAPI int php_output_handler_started(zval *name TSRMLS_DC); +PHPAPI int php_output_handler_hook(int type, void *arg TSRMLS_DC); +PHPAPI void php_output_handler_dtor(php_output_handler *handler TSRMLS_DC); +PHPAPI void php_output_handler_free(php_output_handler **handler TSRMLS_DC); + +PHPAPI int php_output_handler_conflict(zval *handler_new, zval *handler_set TSRMLS_DC); +PHPAPI int php_output_handler_conflict_register(zval *handler_name, php_output_handler_conflict_check_t check_func TSRMLS_DC); +PHPAPI int php_output_handler_reverse_conflict_register(zval *handler_name, php_output_handler_conflict_check_t check_func TSRMLS_DC); -#define php_output_handler_alias_register(n, f) _php_output_handler_alias_register((n), (f) TSRMLS_CC) -PHPAPI int _php_output_handler_alias_register(zval *handler_name, php_output_handler_context_func_t func TSRMLS_DC); +PHPAPI php_output_handler_context_func_t *php_output_handler_alias(zval *handler_name TSRMLS_DC); +PHPAPI int php_output_handler_alias_register(zval *handler_name, php_output_handler_context_func_t func TSRMLS_DC); END_EXTERN_C() http://cvs.php.net/viewcvs.cgi/php-src/sapi/apache/mod_php5.c?r1=1.34&r2=1.35&diff_format=u Index: php-src/sapi/apache/mod_php5.c diff -u php-src/sapi/apache/mod_php5.c:1.34 php-src/sapi/apache/mod_php5.c:1.35 --- php-src/sapi/apache/mod_php5.c:1.34 Fri Jun 2 19:51:42 2006 +++ php-src/sapi/apache/mod_php5.c Sat Jun 3 11:19:44 2006 @@ -17,7 +17,7 @@ | PHP 4.0 patches by Zeev Suraski <zeev@zend.com> | +----------------------------------------------------------------------+ */ -/* $Id: mod_php5.c,v 1.34 2006/06/02 19:51:42 mike Exp $ */ +/* $Id: mod_php5.c,v 1.35 2006/06/03 11:19:44 mike Exp $ */ #include "php_apache_http.h" #include "http_conf_globals.h" @@ -315,7 +315,7 @@ { TSRMLS_FETCH(); - php_output_set_status(PHP_OUTPUT_DISABLED); + php_output_set_status(PHP_OUTPUT_DISABLED TSRMLS_CC); if (AP(in_request)) { AP(in_request) = 0; php_request_shutdown(dummy); http://cvs.php.net/viewcvs.cgi/php-src/sapi/apache2handler/php_functions.c?r1=1.25&r2=1.26&diff_format=u Index: php-src/sapi/apache2handler/php_functions.c diff -u php-src/sapi/apache2handler/php_functions.c:1.25 php-src/sapi/apache2handler/php_functions.c:1.26 --- php-src/sapi/apache2handler/php_functions.c:1.25 Fri Jun 2 19:51:42 2006 +++ php-src/sapi/apache2handler/php_functions.c Sat Jun 3 11:19:44 2006 @@ -16,7 +16,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: php_functions.c,v 1.25 2006/06/02 19:51:42 mike Exp $ */ +/* $Id: php_functions.c,v 1.26 2006/06/03 11:19:44 mike Exp $ */ #define ZEND_INCLUDE_FULL_WINDOWS_HEADERS @@ -93,7 +93,7 @@ } /* Flush everything. */ - php_output_end_all(); + php_output_end_all(TSRMLS_C); php_header(TSRMLS_C); /* Ensure that the ap_r* layer for the main request is flushed, to http://cvs.php.net/viewcvs.cgi/php-src/sapi/apache_hooks/mod_php5.c?r1=1.17&r2=1.18&diff_format=u Index: php-src/sapi/apache_hooks/mod_php5.c diff -u php-src/sapi/apache_hooks/mod_php5.c:1.17 php-src/sapi/apache_hooks/mod_php5.c:1.18 --- php-src/sapi/apache_hooks/mod_php5.c:1.17 Fri Jun 2 19:51:43 2006 +++ php-src/sapi/apache_hooks/mod_php5.c Sat Jun 3 11:19:44 2006 @@ -17,7 +17,7 @@ | PHP 4.0 patches by Zeev Suraski <zeev@zend.com> | +----------------------------------------------------------------------+ */ -/* $Id: mod_php5.c,v 1.17 2006/06/02 19:51:43 mike Exp $ */ +/* $Id: mod_php5.c,v 1.18 2006/06/03 11:19:44 mike Exp $ */ #include "php_apache_http.h" @@ -434,7 +434,7 @@ { TSRMLS_FETCH(); AP(current_hook) = AP_CLEANUP; - php_output_set_status(PHP_OUTPUT_DISABLED); + php_output_set_status(PHP_OUTPUT_DISABLED TSRMLS_CC); SG(server_context) = NULL; /* The server context (request) is invalid by the time run_cleanups() is called */ if(SG(sapi_started)) { php_request_shutdown(dummy); http://cvs.php.net/viewcvs.cgi/php-src/sapi/cli/php_cli.c?r1=1.154&r2=1.155&diff_format=u Index: php-src/sapi/cli/php_cli.c diff -u php-src/sapi/cli/php_cli.c:1.154 php-src/sapi/cli/php_cli.c:1.155 --- php-src/sapi/cli/php_cli.c:1.154 Fri Jun 2 19:51:43 2006 +++ php-src/sapi/cli/php_cli.c Sat Jun 3 11:19:44 2006 @@ -20,7 +20,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: php_cli.c,v 1.154 2006/06/02 19:51:43 mike Exp $ */ +/* $Id: php_cli.c,v 1.155 2006/06/03 11:19:44 mike Exp $ */ #include "php.h" #include "php_globals.h" @@ -719,7 +719,7 @@ goto err; } php_cli_usage(argv[0]); - php_output_end_all(); + php_output_end_all(TSRMLS_C); exit_status=0; goto out; @@ -728,7 +728,7 @@ goto err; } php_print_info(0xFFFFFFFF TSRMLS_CC); - php_output_end_all(); + php_output_end_all(TSRMLS_C); exit_status=0; goto out; @@ -741,7 +741,7 @@ php_printf("\n[Zend Modules]\n"); print_extensions(TSRMLS_C); php_printf("\n"); - php_output_end_all(); + php_output_end_all(TSRMLS_C); exit_status=0; goto out; @@ -763,7 +763,7 @@ #endif get_zend_version() ); - php_output_end_all(); + php_output_end_all(TSRMLS_C); exit_status=0; goto out; http://cvs.php.net/viewcvs.cgi/php-src/sapi/nsapi/nsapi.c?r1=1.75&r2=1.76&diff_format=u Index: php-src/sapi/nsapi/nsapi.c diff -u php-src/sapi/nsapi/nsapi.c:1.75 php-src/sapi/nsapi/nsapi.c:1.76 --- php-src/sapi/nsapi/nsapi.c:1.75 Fri Jun 2 19:51:43 2006 +++ php-src/sapi/nsapi/nsapi.c Sat Jun 3 11:19:44 2006 @@ -17,7 +17,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: nsapi.c,v 1.75 2006/06/02 19:51:43 mike Exp $ */ +/* $Id: nsapi.c,v 1.76 2006/06/03 11:19:44 mike Exp $ */ /* * PHP includes @@ -310,7 +310,7 @@ PHP_MINFO_FUNCTION(nsapi) { php_info_print_table_start(); - php_info_print_table_row(2, "NSAPI Module Revision", "$Revision: 1.75 $"); + php_info_print_table_row(2, "NSAPI Module Revision", "$Revision: 1.76 $"); php_info_print_table_row(2, "Server Software", system_version()); php_info_print_table_row(2, "Sub-requests with nsapi_virtual()", (nsapi_servact_service)?((zend_ini_long("zlib.output_compression", sizeof("zlib.output_compression"), 0))?"not supported with zlib.output_compression":"enabled"):"not supported on this platform" ); @@ -347,7 +347,7 @@ php_error_docref(NULL TSRMLS_CC, E_WARNING, "Unable to include uri '%s' - Sub-requests do not work with zlib.output_compression", (*uri)->value.str.val); RETURN_FALSE; } else { - php_output_end_all(); + php_output_end_all(TSRMLS_C); php_header(TSRMLS_C); /* do the sub-request */
« previous php.cvs (#38579) next »