mike Wed Jul 19 12:25:46 2006 UTC Modified files: (Branch: PHP_5_2) /php-src NEWS /php-src/ext/standard basic_functions.c basic_functions.h /php-src/main main.c php_globals.h Log: MFH: added error_get_last() function http://cvs.php.net/viewvc.cgi/php-src/NEWS?r1=1.2027.2.547.2.131&r2=1.2027.2.547.2.132&diff_format=u Index: php-src/NEWS diff -u php-src/NEWS:1.2027.2.547.2.131 php-src/NEWS:1.2027.2.547.2.132 --- php-src/NEWS:1.2027.2.547.2.131 Wed Jul 19 09:55:17 2006 +++ php-src/NEWS Wed Jul 19 12:25:46 2006 @@ -7,7 +7,6 @@ - Added support for Apache2Filter in the Windows build including binary support for both Apache 2.0.x (php5apache2_filter.dll) and Apache 2.2.x (php5apache2_2_filter.dll). (Edin) -- Added gmp_nextprime() function. (ants dot aasma at gmail dot com, Tony) - Updated timezonedb to version 2006.7. (Derick) - Changed priority of PHPRC environment variable on win32 to be higher then value from registry. (Dmitry) @@ -80,6 +79,8 @@ - Added SimpleXMLElement::saveXML() as an alias for SimpleXMLElement::asXML(). (Hannes) - Added DOMNode::getNodePath() for getting an XPath for a node. (Christian) +- Added gmp_nextprime() function. (ants dot aasma at gmail dot com, Tony) +- Added error_get_last() function. (Mike) - Optimized zend_try/zend_catch macros by eliminating memcpy(3). (Dmitry) - Optimized require_once() and include_once() by eliminating fopen(3) http://cvs.php.net/viewvc.cgi/php-src/ext/standard/basic_functions.c?r1=1.725.2.31.2.16&r2=1.725.2.31.2.17&diff_format=u Index: php-src/ext/standard/basic_functions.c diff -u php-src/ext/standard/basic_functions.c:1.725.2.31.2.16 php-src/ext/standard/basic_functions.c:1.725.2.31.2.17 --- php-src/ext/standard/basic_functions.c:1.725.2.31.2.16 Sat Jul 15 10:21:09 2006 +++ php-src/ext/standard/basic_functions.c Wed Jul 19 12:25:46 2006 @@ -17,7 +17,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: basic_functions.c,v 1.725.2.31.2.16 2006/07/15 10:21:09 helly Exp $ */ +/* $Id: basic_functions.c,v 1.725.2.31.2.17 2006/07/19 12:25:46 mike Exp $ */ #include "php.h" #include "php_streams.h" @@ -774,6 +774,10 @@ ZEND_END_ARG_INFO() static +ZEND_BEGIN_ARG_INFO_EX(arginfo_error_get_last, 0, 0, 0) +ZEND_END_ARG_INFO() + +static ZEND_BEGIN_ARG_INFO_EX(arginfo_call_user_func, 0, 0, 1) ZEND_ARG_INFO(0, function_name) ZEND_ARG_INFO(0, parmeter) @@ -3357,6 +3361,7 @@ PHP_FE(import_request_variables, arginfo_import_request_variables) PHP_FE(error_log, arginfo_error_log) + PHP_FE(error_get_last, arginfo_error_get_last) PHP_FE(call_user_func, arginfo_call_user_func) PHP_FE(call_user_func_array, arginfo_call_user_func_array) PHP_DEP_FE(call_user_method, arginfo_call_user_method) @@ -4957,6 +4962,23 @@ return SUCCESS; } +/* {{{ proto array error_get_last() + Get the last occurred error as associative array. Returns NULL if there hasn't been an error yet. */ +PHP_FUNCTION(error_get_last) +{ + if (ZEND_NUM_ARGS()) { + WRONG_PARAM_COUNT; + } + if (PG(last_error_message)) { + array_init(return_value); + add_assoc_long_ex(return_value, "type", sizeof("type"), PG(last_error_type)); + add_assoc_string_ex(return_value, "message", sizeof("message"), PG(last_error_message), 1); + add_assoc_string_ex(return_value, "file", sizeof("file"), PG(last_error_file)?PG(last_error_file):"-", 1 ); + add_assoc_long_ex(return_value, "line", sizeof("line"), PG(last_error_lineno)); + } +} +/* }}} */ + /* {{{ proto mixed call_user_func(string function_name [, mixed parmeter] [, mixed ...]) Call a user function which is the first parameter */ PHP_FUNCTION(call_user_func) http://cvs.php.net/viewvc.cgi/php-src/ext/standard/basic_functions.h?r1=1.139.2.4.2.1&r2=1.139.2.4.2.2&diff_format=u Index: php-src/ext/standard/basic_functions.h diff -u php-src/ext/standard/basic_functions.h:1.139.2.4.2.1 php-src/ext/standard/basic_functions.h:1.139.2.4.2.2 --- php-src/ext/standard/basic_functions.h:1.139.2.4.2.1 Sun May 14 16:06:48 2006 +++ php-src/ext/standard/basic_functions.h Wed Jul 19 12:25:46 2006 @@ -17,7 +17,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: basic_functions.h,v 1.139.2.4.2.1 2006/05/14 16:06:48 iliaa Exp $ */ +/* $Id: basic_functions.h,v 1.139.2.4.2.2 2006/07/19 12:25:46 mike Exp $ */ #ifndef BASIC_FUNCTIONS_H #define BASIC_FUNCTIONS_H @@ -79,6 +79,7 @@ PHP_FUNCTION(import_request_variables); PHP_FUNCTION(error_log); +PHP_FUNCTION(error_get_last); PHP_FUNCTION(call_user_func); PHP_FUNCTION(call_user_func_array); http://cvs.php.net/viewvc.cgi/php-src/main/main.c?r1=1.640.2.23.2.11&r2=1.640.2.23.2.12&diff_format=u Index: php-src/main/main.c diff -u php-src/main/main.c:1.640.2.23.2.11 php-src/main/main.c:1.640.2.23.2.12 --- php-src/main/main.c:1.640.2.23.2.11 Tue Jul 18 09:06:33 2006 +++ php-src/main/main.c Wed Jul 19 12:25:46 2006 @@ -18,7 +18,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: main.c,v 1.640.2.23.2.11 2006/07/18 09:06:33 dmitry Exp $ */ +/* $Id: main.c,v 1.640.2.23.2.12 2006/07/19 12:25:46 mike Exp $ */ /* {{{ includes */ @@ -683,6 +683,7 @@ if (PG(last_error_file)) { free(PG(last_error_file)); } + PG(last_error_type) = type; PG(last_error_message) = strdup(buffer); PG(last_error_file) = strdup(error_filename); PG(last_error_lineno) = error_lineno; http://cvs.php.net/viewvc.cgi/php-src/main/php_globals.h?r1=1.98.2.1.2.1&r2=1.98.2.1.2.2&diff_format=u Index: php-src/main/php_globals.h diff -u php-src/main/php_globals.h:1.98.2.1.2.1 php-src/main/php_globals.h:1.98.2.1.2.2 --- php-src/main/php_globals.h:1.98.2.1.2.1 Fri Jun 16 14:09:01 2006 +++ php-src/main/php_globals.h Wed Jul 19 12:25:46 2006 @@ -16,7 +16,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: php_globals.h,v 1.98.2.1.2.1 2006/06/16 14:09:01 rasmus Exp $ */ +/* $Id: php_globals.h,v 1.98.2.1.2.2 2006/07/19 12:25:46 mike Exp $ */ #ifndef PHP_GLOBALS_H #define PHP_GLOBALS_H @@ -142,6 +142,7 @@ zend_bool always_populate_raw_post_data; zend_bool report_zend_debug; + int last_error_type; char *last_error_message; char *last_error_file; int last_error_lineno;
-- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php