From bb7ceb046eb5f0d5fa25066a3d7f9b4eb8cc3c93 Mon Sep 17 00:00:00 2001 From: Levi Morrison Date: Mon, 5 Jan 2015 17:27:25 -0700 Subject: [PATCH] Fix bug #55416 Remove extra, unnecessary warning when the callback fails for array_map, array_reduce and array_filter --- ext/standard/array.c | 4 ---- ext/standard/tests/array/array_map_001.phpt | 1 - ext/standard/tests/array/bug35821.phpt | 2 -- 3 files changed, 7 deletions(-) diff --git a/ext/standard/array.c b/ext/standard/array.c index 86707f4842..05098f52ad 100644 --- a/ext/standard/array.c +++ b/ext/standard/array.c @@ -4537,7 +4537,6 @@ PHP_FUNCTION(array_reduce) } else { zval_ptr_dtor(&args[1]); zval_ptr_dtor(&args[0]); - php_error_docref(NULL, E_WARNING, "An error occurred while invoking the reduction callback"); return; } } ZEND_HASH_FOREACH_END(); @@ -4621,7 +4620,6 @@ PHP_FUNCTION(array_filter) if (use_type == ARRAY_FILTER_USE_BOTH) { zval_ptr_dtor(&args[1]); } - php_error_docref(NULL, E_WARNING, "An error occurred while invoking the filter callback"); return; } } else if (!zend_is_true(operand)) { @@ -4691,7 +4689,6 @@ PHP_FUNCTION(array_map) ZVAL_COPY(&arg, zv); if (zend_call_function(&fci, &fci_cache) != SUCCESS || Z_TYPE(result) == IS_UNDEF) { - php_error_docref(NULL, E_WARNING, "An error occurred while invoking the map callback"); zval_dtor(return_value); zval_ptr_dtor(&arg); RETURN_NULL(); @@ -4779,7 +4776,6 @@ PHP_FUNCTION(array_map) fci.no_separation = 0; if (zend_call_function(&fci, &fci_cache) != SUCCESS || Z_TYPE(result) == IS_UNDEF) { - php_error_docref(NULL, E_WARNING, "An error occurred while invoking the map callback"); efree(array_pos); zval_dtor(return_value); for (i = 0; i < n_arrays; i++) { diff --git a/ext/standard/tests/array/array_map_001.phpt b/ext/standard/tests/array/array_map_001.phpt index 646eb7695e..7d313b59f6 100644 --- a/ext/standard/tests/array/array_map_001.phpt +++ b/ext/standard/tests/array/array_map_001.phpt @@ -18,6 +18,5 @@ try { echo "Done\n"; ?> --EXPECTF-- -Warning: array_map(): An error occurred while invoking the map callback in %s on line %d string(17) "exception caught!" Done diff --git a/ext/standard/tests/array/bug35821.phpt b/ext/standard/tests/array/bug35821.phpt index 05140d0d37..3411c340ad 100644 --- a/ext/standard/tests/array/bug35821.phpt +++ b/ext/standard/tests/array/bug35821.phpt @@ -23,8 +23,6 @@ echo "Done\n"; ?> --EXPECTF-- -Warning: array_map(): An error occurred while invoking the map callback in %s on line %d - Fatal error: Uncaught exception 'Exception' in %s:%d Stack trace: #0 %s(%d): Element->ThrowException() -- 2.40.0