tests: PHP<=7.3 compat
[m6w6/ext-http] / src / php_http_params.c
index 5ba191f161e4590b6a1d71deabb4c475433c63e3..75a9e3813c36e146ad76877f3f34db05b6700e1c 100644 (file)
@@ -67,7 +67,11 @@ static inline zend_string *quote_string(zend_string *zs, zend_bool force)
 {
        size_t len = (zs)->len;
 
+#if PHP_VERSION_ID < 70300
        zs = php_addcslashes(zs, 0, ZEND_STRL("\0..\37\173\\\""));
+#else
+       zs = php_addcslashes(zs, ZEND_STRL("\0..\37\173\\\""));
+#endif
 
        if (force || len != (zs)->len || strpbrk((zs)->val, "()<>@,;:\"[]?={} ")) {
                int len = (zs)->len + 2;
@@ -136,12 +140,11 @@ static inline void prepare_urlencoded(zval *zv)
 
 static void sanitize_dimension(zval *zv)
 {
-       zval arr, tmp, *cur = NULL;
+       zval arr, tmp, *cur = &arr;
        char *var = NULL, *ptr = Z_STRVAL_P(zv), *end = Z_STRVAL_P(zv) + Z_STRLEN_P(zv);
        long level = 0;
 
        array_init(&arr);
-       cur = &arr;
 
        while (ptr < end) {
                if (!var) {
@@ -674,8 +677,9 @@ static void skip_sep(size_t skip, php_http_params_state_t *state, php_http_param
 
 HashTable *php_http_params_parse(HashTable *params, const php_http_params_opts_t *opts)
 {
-       php_http_params_state_t state = {{NULL,0}, {NULL,0}, {NULL,0}, {NULL,0}, {NULL,NULL,NULL}, 0, 0};
+       php_http_params_state_t state;
 
+       memset(&state, 0, sizeof(state));
        state.input.str = opts->input.str;
        state.input.len = opts->input.len;
 
@@ -1287,7 +1291,7 @@ PHP_METHOD(HttpParams, offsetSet)
 }
 
 static zend_function_entry php_http_params_methods[] = {
-       PHP_ME(HttpParams, __construct,   ai_HttpParams___construct,   ZEND_ACC_PUBLIC|ZEND_ACC_CTOR|ZEND_ACC_FINAL)
+       PHP_ME(HttpParams, __construct,   ai_HttpParams___construct,   ZEND_ACC_PUBLIC|ZEND_ACC_FINAL)
 
        PHP_ME(HttpParams, toArray,       ai_HttpParams_toArray,       ZEND_ACC_PUBLIC)
        PHP_ME(HttpParams, toString,      ai_HttpParams_toString,      ZEND_ACC_PUBLIC)