X-Git-Url: https://git.m6w6.name/?p=m6w6%2Fext-http;a=blobdiff_plain;f=http_url_api.c;h=09558a246386f767a14365af4bc80bb7b6e52a0c;hp=bdfd2cfc7e96d24b1f8b53afdf866bc813c50731;hb=5ba379899fb1e05ede73674dc010ce8846e051c2;hpb=3790a41ee6c48417d9570ec507e6490bcde0736f diff --git a/http_url_api.c b/http_url_api.c index bdfd2cf..09558a2 100644 --- a/http_url_api.c +++ b/http_url_api.c @@ -445,9 +445,7 @@ PHP_HTTP_API STATUS _http_urlencode_hash_recursive(HashTable *ht, phpstr *str, c return FAILURE; } } else { - zval val = zval_used_for_init; - ZVAL_ZVAL(&val, *data, 1, 0); - convert_to_string(&val); + zval *val = http_zsep(IS_STRING, *data); if (PHPSTR_LEN(str)) { phpstr_append(str, arg_sep, arg_sep_len); @@ -455,16 +453,16 @@ PHP_HTTP_API STATUS _http_urlencode_hash_recursive(HashTable *ht, phpstr *str, c phpstr_append(str, PHPSTR_VAL(&new_prefix), PHPSTR_LEN(&new_prefix)); phpstr_appends(str, "="); - if (Z_STRLEN(val) && Z_STRVAL(val)) { + if (Z_STRLEN_P(val) && Z_STRVAL_P(val)) { char *encoded_val; int encoded_len; - encoded_val = php_url_encode(Z_STRVAL(val), Z_STRLEN(val), &encoded_len); + encoded_val = php_url_encode(Z_STRVAL_P(val), Z_STRLEN_P(val), &encoded_len); phpstr_append(str, encoded_val, encoded_len); efree(encoded_val); } - zval_dtor(&val); + zval_ptr_dtor(&val); } phpstr_dtor(&new_prefix); }