summaryrefslogtreecommitdiff
path: root/Zend/zend_exceptions.c
diff options
context:
space:
mode:
authorNikita Popov <nikic@php.net>2015-08-14 16:16:27 +0200
committerNikita Popov <nikic@php.net>2015-08-14 16:16:27 +0200
commit13567d5dee28fba9a434a3af7691a574c2e52720 (patch)
tree38a07e5ba3a1e43b7b5796a4ca44d3fa3c4a5d5a /Zend/zend_exceptions.c
parent38c19d43c10fd41063ea0ef60f41da23e098678e (diff)
downloadphp-git-13567d5dee28fba9a434a3af7691a574c2e52720.tar.gz
Don't copy zend_strings during exception creation
Minor optimization...
Diffstat (limited to 'Zend/zend_exceptions.c')
-rw-r--r--Zend/zend_exceptions.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/Zend/zend_exceptions.c b/Zend/zend_exceptions.c
index 5c718cefd4..53a4ac2026 100644
--- a/Zend/zend_exceptions.c
+++ b/Zend/zend_exceptions.c
@@ -207,10 +207,11 @@ static zend_object *zend_default_exception_new_ex(zend_class_entry *class_type,
base_ce = i_get_exception_base(&obj);
if (EXPECTED(class_type != zend_ce_parse_error || !(filename = zend_get_compiled_filename()))) {
- zend_update_property_string(base_ce, &obj, "file", sizeof("file")-1, zend_get_executed_filename());
+ zend_update_property_str(base_ce, &obj, "file", sizeof("file")-1,
+ zend_string_copy(zend_get_executed_filename_ex()));
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, ZSTR_VAL(filename));
+ zend_update_property_str(base_ce, &obj, "file", sizeof("file")-1, zend_string_copy(filename));
zend_update_property_long(base_ce, &obj, "line", sizeof("line")-1, zend_get_compiled_lineno());
}
zend_update_property(base_ce, &obj, "trace", sizeof("trace")-1, &trace);