com php-src: Merge branch 'master' into throwable-interface: Zend/tests/bug69640.phpt Zend/zend_exceptions.c
| From: | Anatol Belski | Date: | Mon, 18 May 2015 18:34:46 +0000 |
| Subject: | com php-src: Merge branch 'master' into throwable-interface: Zend/tests/bug69640.phpt Zend/zend_exceptions.c | ||
| Groups: | php.cvs | ||
| Request: | Send a blank email to php-cvs+get-87334@lists.php.net to get a copy of this message | ||
Commit: 99640cd013c9d32d21eb7de105fd159f8930ff0d
Author: Aaron Piotrowski <aaron@trowski.com> Mon, 18 May 2015 13:34:46 -0500
Parents: e97d5fab35af5c73b0d9614bb2d079c67bf4d508 cee88571d9dbb2d56b78b312919aea190580d9e5
Branches: master
Link: http://git.php.net/?p=php-src.git;a=commitdiff;h=99640cd013c9d32d21eb7de105fd159f8930ff0d
Log:
Merge branch 'master' into throwable-interface
Changed paths:
AM Zend/tests/bug69640.phpt
MM Zend/zend_exceptions.c
Diff:
diff --cc Zend/tests/bug69640.phpt
index 0000000,9c4827a..e7ff7c9
mode 000000,100644..100644
--- a/Zend/tests/bug69640.phpt
+++ b/Zend/tests/bug69640.phpt
@@@ -1,0 -1,8 +1,8 @@@
+ --TEST--
-Bug #69640 Unhandled EngineExceptions thrown from userland do not produce any output
++Bug #69640 Unhandled Error thrown from userland do not produce any output
+ --FILE--
+ <?php
-throw new \ParseException('I mess everything up! :trollface:');
++throw new \ParseError('I mess everything up! :trollface:');
+ ?>
+ --EXPECTF--
+ Fatal error: I mess everything up! :trollface: in %sbug69640.php on line 2
diff --cc Zend/zend_exceptions.c
index 9e053b1,023836e..422c4bb
--- a/Zend/zend_exceptions.c
+++ b/Zend/zend_exceptions.c
@@@ -164,7 -158,7 +164,8 @@@ static zend_object *zend_default_except
zval obj;
zend_object *object;
zval trace;
+ zend_class_entry *base_ce;
+ zend_string *filename;
Z_OBJ(obj) = object = zend_objects_new(class_type);
Z_OBJ_HT(obj) = &default_exception_handlers;
@@@ -177,17 -171,15 +178,17 @@@
array_init(&trace);
}
Z_SET_REFCOUNT(trace, 0);
+
+ base_ce = zend_get_exception_base(&obj);
- if (EXPECTED(class_type != parse_error_ce)) {
- if (EXPECTED(class_type != parse_exception_ce || !(filename = zend_get_compiled_filename()))) {
- zend_update_property_string(base_exception_ce, &obj, "file",
sizeof("file")-1, zend_get_executed_filename());
- zend_update_property_long(base_exception_ce, &obj, "line",
sizeof("line")-1, zend_get_executed_lineno());
++ if (EXPECTED(class_type != parse_error_ce || !(filename = zend_get_compiled_filename()))) {
+ zend_update_property_string(base_ce, &obj, "file", sizeof("file")-1,
zend_get_executed_filename());
+ zend_update_property_long(base_ce, &obj, "line", sizeof("line")-1,
zend_get_executed_lineno());
} else {
- zend_update_property_string(base_ce, &obj, "file", sizeof("file")-1,
zend_get_compiled_filename()->val);
- zend_update_property_string(base_exception_ce, &obj, "file",
sizeof("file")-1, filename->val);
- zend_update_property_long(base_exception_ce, &obj, "line",
sizeof("line")-1, zend_get_compiled_lineno());
++ zend_update_property_string(base_ce, &obj, "file", sizeof("file")-1,
filename->val);
+ zend_update_property_long(base_ce, &obj, "line", sizeof("line")-1,
zend_get_compiled_lineno());
}
- zend_update_property(base_exception_ce, &obj, "trace", sizeof("trace")-1,
&trace);
+ zend_update_property(base_ce, &obj, "trace", sizeof("trace")-1,
&trace);
return object;
}