More effecient conversion

This commit is contained in:
Dmitry Stogov 2018-01-17 17:51:18 +03:00
parent 515b0508e0
commit ae620a06cd

View file

@ -516,11 +516,9 @@ static XMLRPC_VALUE PHP_to_XMLRPC_worker (const char* key, zval* in_val, int dep
XMLRPC_SetValueID(xReturn, key, 0); XMLRPC_SetValueID(xReturn, key, 0);
} else { } else {
if (Z_TYPE(val) != IS_STRING) { if (Z_TYPE(val) != IS_STRING) {
zval newvalue; zend_string *str = zval_get_string_func(&val);
ZVAL_DUP(&newvalue, &val); xReturn = XMLRPC_CreateValueBase64(key, ZSTR_VAL(str), ZSTR_LEN(str));
convert_to_string(&newvalue); zend_string_release(str);
xReturn = XMLRPC_CreateValueBase64(key, Z_STRVAL(newvalue), Z_STRLEN(newvalue));
zval_dtor(&newvalue);
} else { } else {
xReturn = XMLRPC_CreateValueBase64(key, Z_STRVAL(val), Z_STRLEN(val)); xReturn = XMLRPC_CreateValueBase64(key, Z_STRVAL(val), Z_STRLEN(val));
} }