diff options
Diffstat (limited to 'Zend/zend_API.c')
-rw-r--r-- | Zend/zend_API.c | 8 |
1 files changed, 3 insertions, 5 deletions
diff --git a/Zend/zend_API.c b/Zend/zend_API.c index cbd89f7c0c..ea78c22a46 100644 --- a/Zend/zend_API.c +++ b/Zend/zend_API.c @@ -3137,11 +3137,9 @@ try_again: case IS_OBJECT: { zend_class_entry *ce = Z_OBJCE_P(callable); - zend_string *callable_name = zend_string_alloc( - ZSTR_LEN(ce->name) + sizeof("::__invoke") - 1, 0); - memcpy(ZSTR_VAL(callable_name), ZSTR_VAL(ce->name), ZSTR_LEN(ce->name)); - memcpy(ZSTR_VAL(callable_name) + ZSTR_LEN(ce->name), "::__invoke", sizeof("::__invoke")); - return callable_name; + return zend_string_concat2( + ZSTR_VAL(ce->name), ZSTR_LEN(ce->name), + "::__invoke", sizeof("::__invoke") - 1); } case IS_REFERENCE: callable = Z_REFVAL_P(callable); |