mirror of
https://github.com/php/php-src.git
synced 2026-04-29 03:03:26 +02:00
- Set an empty string and avoid warnings and stopping of the transformation process
when a php function can't be called. - Fixed tests.
This commit is contained in:
@@ -25,13 +25,7 @@ var_dump($proc->transformToXml($dom));
|
||||
NULL
|
||||
|
||||
Warning: XSLTProcessor::transformToXml(): Handler name must be a string in %s on line %d
|
||||
|
||||
Warning: XSLTProcessor::transformToXml(): xmlXPathCompiledEval: evaluation failed in %s on line %d
|
||||
|
||||
Warning: XSLTProcessor::transformToXml(): runtime error: file %s line %d element value-of in %s on line %d
|
||||
|
||||
Warning: XSLTProcessor::transformToXml(): xsltValueOf: text copy failed in %s on line %d
|
||||
bool(false)
|
||||
NULL
|
||||
--CREDITS--
|
||||
Christian Weiske, cweiske@php.net
|
||||
PHP Testfest Berlin 2009-05-09
|
||||
|
||||
@@ -24,13 +24,7 @@ var_dump($proc->transformToXml($dom));
|
||||
NULL
|
||||
|
||||
Warning: XSLTProcessor::transformToXml(): Unable to call handler undefinedfunc() in %s on line %d
|
||||
|
||||
Warning: XSLTProcessor::transformToXml(): xmlXPathCompiledEval: evaluation failed in %s on line %d
|
||||
|
||||
Warning: XSLTProcessor::transformToXml(): runtime error: file %s line %d element value-of in %s on line %d
|
||||
|
||||
Warning: XSLTProcessor::transformToXml(): xsltValueOf: text copy failed in %s on line %d
|
||||
bool(false)
|
||||
NULL
|
||||
--CREDITS--
|
||||
Christian Weiske, cweiske@php.net
|
||||
PHP Testfest Berlin 2009-05-09
|
||||
|
||||
@@ -302,6 +302,7 @@ static void xsl_ext_function_php(xmlXPathParserContextPtr ctxt, int nargs, int t
|
||||
if (obj->stringval == NULL) {
|
||||
php_error_docref(NULL TSRMLS_CC, E_WARNING, "Handler name must be a string");
|
||||
xmlXPathFreeObject(obj);
|
||||
valuePush(ctxt, xmlXPathNewString(""));
|
||||
if (fci.param_count > 0) {
|
||||
for (i = 0; i < nargs - 1; i++) {
|
||||
zval_ptr_dtor(&args[i]);
|
||||
@@ -323,7 +324,7 @@ static void xsl_ext_function_php(xmlXPathParserContextPtr ctxt, int nargs, int t
|
||||
/*fci.function_handler_cache = &function_ptr;*/
|
||||
if (!zend_make_callable(&handler, &callable TSRMLS_CC)) {
|
||||
php_error_docref(NULL TSRMLS_CC, E_WARNING, "Unable to call handler %s()", callable);
|
||||
|
||||
valuePush(ctxt, xmlXPathNewString(""));
|
||||
} else if ( intern->registerPhpFunctions == 2 && zend_hash_exists(intern->registered_phpfunctions, callable, strlen(callable) + 1) == 0) {
|
||||
php_error_docref(NULL TSRMLS_CC, E_WARNING, "Not allowed to call handler '%s()'", callable);
|
||||
/* Push an empty string, so that we at least have an xslt result... */
|
||||
@@ -333,6 +334,7 @@ static void xsl_ext_function_php(xmlXPathParserContextPtr ctxt, int nargs, int t
|
||||
if (result == FAILURE) {
|
||||
if (Z_TYPE(handler) == IS_STRING) {
|
||||
php_error_docref(NULL TSRMLS_CC, E_WARNING, "Unable to call handler %s()", Z_STRVAL_P(&handler));
|
||||
valuePush(ctxt, xmlXPathNewString(""));
|
||||
}
|
||||
/* retval is == NULL, when an exception occured, don't report anything, because PHP itself will handle that */
|
||||
} else if (retval == NULL) {
|
||||
|
||||
Reference in New Issue
Block a user