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 endless loop in http_build_url() with urls like "/.foo"
[m6w6/ext-http]
/
http_querystring_object.c
diff --git
a/http_querystring_object.c
b/http_querystring_object.c
index 7a17391e946bbedfcaf5fddc7edfa972f0d12ca1..e026052e3c3394cb5c87c5c0f2f133b85276c6ef 100644
(file)
--- a/
http_querystring_object.c
+++ b/
http_querystring_object.c
@@
-222,7
+222,9
@@
static inline int _http_querystring_modify_array(zval *qarray, zval *array TSRML
#define http_querystring_modify(q, p) _http_querystring_modify((q), (p) TSRMLS_CC)
static inline int _http_querystring_modify(zval *qarray, zval *params TSRMLS_DC)
{
#define http_querystring_modify(q, p) _http_querystring_modify((q), (p) TSRMLS_CC)
static inline int _http_querystring_modify(zval *qarray, zval *params TSRMLS_DC)
{
- if (Z_TYPE_P(params) == IS_ARRAY) {
+ if ((Z_TYPE_P(params) == IS_OBJECT) && instanceof_function(Z_OBJCE_P(params), http_querystring_object_ce TSRMLS_CC)) {
+ return http_querystring_modify_array(qarray, GET_PROP_EX(params, queryArray));
+ } else if (Z_TYPE_P(params) == IS_ARRAY) {
return http_querystring_modify_array(qarray, params);
} else {
int rv;
return http_querystring_modify_array(qarray, params);
} else {
int rv;