X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;f=src%2Fphp_http_params.c;h=5ba191f161e4590b6a1d71deabb4c475433c63e3;hb=64619407ab97f25d63405c3536a3936679e328d2;hp=9f27918b36679d1dba298fa933e4ee768dbbebf0;hpb=66a434f313d40d89a912e3044ac5d6112d4f0806;p=m6w6%2Fext-http diff --git a/src/php_http_params.c b/src/php_http_params.c index 9f27918..5ba191f 100644 --- a/src/php_http_params.c +++ b/src/php_http_params.c @@ -123,7 +123,7 @@ static inline void prepare_escaped(zval *zv) static inline void sanitize_urlencoded(zval *zv) { - Z_STRLEN_P(zv) = php_raw_url_decode(Z_STRVAL_P(zv), Z_STRLEN_P(zv)); + Z_STRLEN_P(zv) = php_url_decode(Z_STRVAL_P(zv), Z_STRLEN_P(zv)); } static inline void prepare_urlencoded(zval *zv) @@ -200,8 +200,8 @@ static void prepare_dimension(php_http_buffer_t *buf, php_http_buffer_t *keybuf, zval *val; php_http_buffer_t prefix; - if (!ZEND_HASH_GET_APPLY_COUNT(ht)) { - ZEND_HASH_INC_APPLY_COUNT(ht); + if (!HT_IS_RECURSIVE(ht)) { + HT_PROTECT_RECURSION(ht); php_http_buffer_init(&prefix); php_http_buffer_append(&prefix, keybuf->data, keybuf->used); @@ -235,7 +235,7 @@ static void prepare_dimension(php_http_buffer_t *buf, php_http_buffer_t *keybuf, php_http_buffer_cut(&prefix, keybuf->used, prefix.used - keybuf->used); } ZEND_HASH_FOREACH_END(); - ZEND_HASH_DEC_APPLY_COUNT(ht); + HT_UNPROTECT_RECURSION(ht); php_http_buffer_dtor(&prefix); }