php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Return to Bug #60738
Patch bug60738.patch revision 2012-03-24 04:17 UTC by laruence@php.net
revision 2012-03-24 03:32 UTC by laruence@php.net
revision 2012-03-24 03:30 UTC by laruence@php.net
revision 2012-03-24 03:24 UTC by laruence@php.net
Patch error_handler_patch_1.diff revision 2012-03-23 20:50 UTC by nikic@php.net
Patch set_error_handler-allow-null-parameter-corrected revision 2012-03-11 07:46 UTC by kevin dot swinton at gmail dot com
Patch set_error_handler-allow-null-parameter revision 2012-03-10 22:34 UTC by kevin dot swinton at gmail dot com

Patch bug60738.patch for Unknown/Other Function Bug #60738

Patch version 2012-03-24 03:30 UTC

Return to Bug #60738 | Download this patch
This patch is obsolete

Obsoleted by patches:

This patch renders other patches obsolete

Obsolete patches:

Patch Revisions: 2012-03-24 04:17 UTC | 2012-03-24 03:32 UTC | 2012-03-24 03:30 UTC | 2012-03-24 03:24 UTC

Developer: laruence@php.net



  diff --git a/Zend/zend_builtin_functions.c b/Zend/zend_builtin_functions.c
 index b55231d..ae2ed8c 100644
 index b55231d..e5ae594 100644
  --- a/Zend/zend_builtin_functions.c
  +++ b/Zend/zend_builtin_functions.c
  @@ -1512,7 +1512,6 @@ ZEND_FUNCTION(trigger_error)
   ZEND_FUNCTION(set_error_handler)


  -	zend_bool had_orig_error_handler=0;
   	char *error_handler_name = NULL;
   	long error_type = E_ALL;
   
 @@ -1520,37 +1519,42 @@ ZEND_FUNCTION(set_error_handler)
 @@ -1520,37 +1519,45 @@ ZEND_FUNCTION(set_error_handler)
   		return;
   	}
   
  -	if (!zend_is_callable(error_handler, 0, &error_handler_name TSRMLS_CC)) {


  +			RETURN_NULL();
  +		}
  +	} else { /* unset user-defined handler */
  +		if (EG(user_error_handler)) {
 +			*return_value = *EG(user_error_handler);
 +			zval_copy_ctor(return_value);
 +			INIT_PZVAL(return_value);
  +			zend_stack_push(&EG(user_error_handlers_error_reporting), &EG(user_error_handler_error_reporting), sizeof(EG(user_error_handler_error_reporting)));
  +			zend_ptr_stack_push(&EG(user_error_handlers), EG(user_error_handler));
  +		}
   
 
PHP Copyright © 2001-2024 The PHP Group
All rights reserved.
Last updated: Sat Apr 20 05:01:27 2024 UTC