projects
/
m6w6
/
ext-http
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
|
github
raw
|
inline
| side by side
fix gc issues
[m6w6/ext-http]
/
http_url_api.c
diff --git
a/http_url_api.c
b/http_url_api.c
index f67d91a3e40a1a66773f3f9c2095e642a3e008f6..c0fad60086942750e8358814687027b980b59fae 100644
(file)
--- a/
http_url_api.c
+++ b/
http_url_api.c
@@
-445,7
+445,9
@@
PHP_HTTP_API STATUS _http_urlencode_hash_recursive(HashTable *ht, phpstr *str, c
return FAILURE;
}
} else {
return FAILURE;
}
} else {
- zval *val = zval_copy(IS_STRING, *data);
+ zval val;
+ ZVAL_ZVAL(&val, *data, 1, 0);
+ convert_to_string(&val);
if (PHPSTR_LEN(str)) {
phpstr_append(str, arg_sep, arg_sep_len);
if (PHPSTR_LEN(str)) {
phpstr_append(str, arg_sep, arg_sep_len);
@@
-453,16
+455,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, "=");
phpstr_append(str, PHPSTR_VAL(&new_prefix), PHPSTR_LEN(&new_prefix));
phpstr_appends(str, "=");
- if (Z_STRLEN
_P(val) && Z_STRVAL_P
(val)) {
+ if (Z_STRLEN
(val) && Z_STRVAL
(val)) {
char *encoded_val;
int encoded_len;
char *encoded_val;
int encoded_len;
- encoded_val = php_url_encode(Z_STRVAL
_P(val), Z_STRLEN_P
(val), &encoded_len);
+ encoded_val = php_url_encode(Z_STRVAL
(val), Z_STRLEN
(val), &encoded_len);
phpstr_append(str, encoded_val, encoded_len);
efree(encoded_val);
}
phpstr_append(str, encoded_val, encoded_len);
efree(encoded_val);
}
- zval_
free
(&val);
+ zval_
dtor
(&val);
}
phpstr_dtor(&new_prefix);
}
}
phpstr_dtor(&new_prefix);
}