X-Git-Url: https://git.m6w6.name/?p=m6w6%2Fext-http;a=blobdiff_plain;f=php_http_params.c;h=b51ab712657cab9e0fff62a8ca3d7ee982f2151c;hp=68dfaf34ffe64b6d52d7a8c03dc3a892a8cfe662;hb=95433e1b55cd256df3fe3b6240ded359e8ba09a6;hpb=f6600e3e5a683077874e6bbfda11900e6a7613f3 diff --git a/php_http_params.c b/php_http_params.c index 68dfaf3..b51ab71 100644 --- a/php_http_params.c +++ b/php_http_params.c @@ -315,7 +315,7 @@ static inline void sanitize_rfc5987(zval *zv, char **language, zend_bool *latin1 } } -static inline void sanitize_rfc5988(char *str, size_t len, zval *zv TSRMLS_DC) +static inline void sanitize_rfc5988(char *str, size_t len, zval *zv) { zend_string *zs = zend_string_init(str, len, 0); @@ -324,7 +324,7 @@ static inline void sanitize_rfc5988(char *str, size_t len, zval *zv TSRMLS_DC) zend_string_release(zs); } -static inline void prepare_rfc5988(zval *zv TSRMLS_DC) +static inline void prepare_rfc5988(zval *zv) { if (Z_TYPE_P(zv) != IS_STRING) { zval_dtor(zv); @@ -437,7 +437,7 @@ static void merge_param(HashTable *params, zval *zdata, zval **current_param, zv zval tmp; INIT_PZVAL_ARRAY(&tmp, params); fprintf(stderr, "params = "); - zend_print_zval_r(&tmp, 1 TSRMLS_CC); + zend_print_zval_r(&tmp, 1); fprintf(stderr, "\n"); } #endif @@ -488,10 +488,10 @@ static void merge_param(HashTable *params, zval *zdata, zval **current_param, zv while (Z_TYPE_P(zdata_ptr) == IS_ARRAY && (test_ptr = zend_hash_get_current_data(Z_ARRVAL_P(zdata_ptr)))) { if (Z_TYPE_P(test_ptr) == IS_ARRAY) { + zval *tmp_ptr = ptr; + /* now find key in ptr */ if (HASH_KEY_IS_STRING == zend_hash_get_current_key(Z_ARRVAL_P(zdata_ptr), &hkey.key, &hkey.h)) { - zval *tmp_ptr = ptr; - if ((ptr = zend_hash_find(Z_ARRVAL_P(ptr), hkey.key))) { zdata_ptr = test_ptr; } else { @@ -504,10 +504,12 @@ static void merge_param(HashTable *params, zval *zdata, zval **current_param, zv if ((ptr = zend_hash_index_find(Z_ARRVAL_P(ptr), hkey.h))) { zdata_ptr = test_ptr; } else if (hkey.h) { + ptr = tmp_ptr; Z_TRY_ADDREF_P(test_ptr); ptr = zend_hash_index_update(Z_ARRVAL_P(ptr), hkey.h, test_ptr); break; } else { + ptr = tmp_ptr; Z_TRY_ADDREF_P(test_ptr); ptr = zend_hash_next_index_insert(Z_ARRVAL_P(ptr), test_ptr); break; @@ -1225,7 +1227,7 @@ PHP_METHOD(HttpParams, offsetSet) zend_string *name; zval zparams_tmp, *zparam, *zparams, *nvalue; - if (SUCCESS != zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "Sz", &name, &nvalue)) { + if (SUCCESS != zend_parse_parameters(ZEND_NUM_ARGS(), "Sz", &name, &nvalue)) { return; }