diff options
author | Dmitry Stogov <dmitry@zend.com> | 2018-03-06 21:58:40 +0300 |
---|---|---|
committer | Dmitry Stogov <dmitry@zend.com> | 2018-03-06 21:58:40 +0300 |
commit | 9716bd68a3e9d207d78da59aecab7785867e94de (patch) | |
tree | e8e37ed3c8960dbd469060dce4a4a5a924246253 /Zend/zend_operators.c | |
parent | d03e95442ad5c055d4488bb7c53114c03de53d4e (diff) | |
download | php-git-9716bd68a3e9d207d78da59aecab7785867e94de.tar.gz |
Avoid double copying
Diffstat (limited to 'Zend/zend_operators.c')
-rw-r--r-- | Zend/zend_operators.c | 11 |
1 files changed, 3 insertions, 8 deletions
diff --git a/Zend/zend_operators.c b/Zend/zend_operators.c index 6dce2ffadf..d7c6bbb25a 100644 --- a/Zend/zend_operators.c +++ b/Zend/zend_operators.c @@ -543,10 +543,9 @@ try_again: case IS_STRING: break; case IS_RESOURCE: { - char buf[sizeof("Resource id #") + MAX_LENGTH_OF_LONG]; - int len = snprintf(buf, sizeof(buf), "Resource id #" ZEND_LONG_FMT, (zend_long)Z_RES_HANDLE_P(op)); + zend_string *str = zend_strpprintf(0, "Resource id #" ZEND_LONG_FMT, (zend_long)Z_RES_HANDLE_P(op)); zval_ptr_dtor(op); - ZVAL_NEW_STR(op, zend_string_init(buf, len, 0)); + ZVAL_NEW_STR(op, str); break; } case IS_LONG: { @@ -861,11 +860,7 @@ try_again: case IS_TRUE: return ZSTR_CHAR('1'); case IS_RESOURCE: { - char buf[sizeof("Resource id #") + MAX_LENGTH_OF_LONG]; - int len; - - len = snprintf(buf, sizeof(buf), "Resource id #" ZEND_LONG_FMT, (zend_long)Z_RES_HANDLE_P(op)); - return zend_string_init(buf, len, 0); + return zend_strpprintf(0, "Resource id #" ZEND_LONG_FMT, (zend_long)Z_RES_HANDLE_P(op)); } case IS_LONG: { return zend_long_to_str(Z_LVAL_P(op)); |