summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZeev Suraski <zeev@php.net>2003-06-08 14:00:11 +0000
committerZeev Suraski <zeev@php.net>2003-06-08 14:00:11 +0000
commit4abaac8c2f94a60fe47dd58d855beb49c27496db (patch)
treed743026a3300b717e594823f0bdd17b58f2e543a
parentf8fbb4a30b6a2cbbd9e05df078195fbe5b86dd6c (diff)
downloadphp-git-4abaac8c2f94a60fe47dd58d855beb49c27496db.tar.gz
Fix set_error_handler()
-rw-r--r--Zend/zend_builtin_functions.c16
1 files changed, 5 insertions, 11 deletions
diff --git a/Zend/zend_builtin_functions.c b/Zend/zend_builtin_functions.c
index 4cc1fec259..2d707e5fea 100644
--- a/Zend/zend_builtin_functions.c
+++ b/Zend/zend_builtin_functions.c
@@ -964,17 +964,11 @@ ZEND_FUNCTION(set_error_handler)
}
ALLOC_ZVAL(EG(user_error_handler));
-#ifdef JANI_0
- /*
- * This part would never be reached unless there is something
- * wrong with the engine as empty string can not be valid call back.
- * See bug #23619 for more information why this is left here.
- * (this only applies to non-debug-builds.)
- */
- if (Z_STRLEN_PP(error_handler)==0) { /* unset user-defined handler */
- zend_error(E_ERROR, "%s(): This should never happen! '%s'", get_active_function_name(TSRMLS_C), error_handler);
- }
-#endif
+ if (!zend_is_true(*error_handler)) { /* unset user-defined handler */
+ FREE_ZVAL(EG(user_error_handler));
+ EG(user_error_handler) = NULL;
+ RETURN_TRUE;
+ }
*EG(user_error_handler) = **error_handler;
zval_copy_ctor(EG(user_error_handler));