diff options
author | Dmitry Stogov <dmitry@zend.com> | 2018-01-17 17:51:18 +0300 |
---|---|---|
committer | Dmitry Stogov <dmitry@zend.com> | 2018-01-17 17:51:18 +0300 |
commit | ae620a06cdc56dd9f28dfe46633428df91723472 (patch) | |
tree | eaabade9d4bcd3e69c186c8d7b149cc0f002effe /ext/xmlrpc/xmlrpc-epi-php.c | |
parent | 515b0508e098cf224e7abe2991ce73c2192279f7 (diff) | |
download | php-git-ae620a06cdc56dd9f28dfe46633428df91723472.tar.gz |
More effecient conversion
Diffstat (limited to 'ext/xmlrpc/xmlrpc-epi-php.c')
-rw-r--r-- | ext/xmlrpc/xmlrpc-epi-php.c | 8 |
1 files changed, 3 insertions, 5 deletions
diff --git a/ext/xmlrpc/xmlrpc-epi-php.c b/ext/xmlrpc/xmlrpc-epi-php.c index e1732e7acf..96c5e1137d 100644 --- a/ext/xmlrpc/xmlrpc-epi-php.c +++ b/ext/xmlrpc/xmlrpc-epi-php.c @@ -516,11 +516,9 @@ static XMLRPC_VALUE PHP_to_XMLRPC_worker (const char* key, zval* in_val, int dep XMLRPC_SetValueID(xReturn, key, 0); } else { if (Z_TYPE(val) != IS_STRING) { - zval newvalue; - ZVAL_DUP(&newvalue, &val); - convert_to_string(&newvalue); - xReturn = XMLRPC_CreateValueBase64(key, Z_STRVAL(newvalue), Z_STRLEN(newvalue)); - zval_dtor(&newvalue); + zend_string *str = zval_get_string_func(&val); + xReturn = XMLRPC_CreateValueBase64(key, ZSTR_VAL(str), ZSTR_LEN(str)); + zend_string_release(str); } else { xReturn = XMLRPC_CreateValueBase64(key, Z_STRVAL(val), Z_STRLEN(val)); } |