Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/phpredis/phpredis.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPavlo Yatsukhnenko <yatsukhnenko@gmail.com>2019-10-07 15:00:36 +0300
committerPavlo Yatsukhnenko <yatsukhnenko@gmail.com>2019-10-07 15:00:36 +0300
commit2bb086802e4623a8543080883342ed4cf3c45eee (patch)
tree8d28e27255ad616772437831dc15de05de70da1e /redis_session.c
parent7c6c43a6ac81b0f73c55892e675c1875dcd0a2c8 (diff)
Issue #1631
Diffstat (limited to 'redis_session.c')
-rw-r--r--redis_session.c14
1 files changed, 12 insertions, 2 deletions
diff --git a/redis_session.c b/redis_session.c
index 0bffc0d6..33ccedee 100644
--- a/redis_session.c
+++ b/redis_session.c
@@ -408,13 +408,23 @@ PS_OPEN_FUNC(redis)
/* parse parameters */
if (url->query != NULL) {
+ char *query;
array_init(&params);
#if (PHP_VERSION_ID < 70300)
- sapi_module.treat_data(PARSE_STRING, estrdup(url->query), &params);
+ if (url->fragment != NULL) {
+ spprintf(&query, 0, "%s#%s", url->query, url->fragment);
+ } else {
+ query = estrdup(url->query);
+ }
#else
- sapi_module.treat_data(PARSE_STRING, estrndup(ZSTR_VAL(url->query), ZSTR_LEN(url->query)), &params);
+ if (url->fragment != NULL) {
+ spprintf(&query, 0, "%s#%s", ZSTR_VAL(url->query), ZSTR_VAL(url->fragment));
+ } else {
+ query = estrndup(ZSTR_VAL(url->query), ZSTR_LEN(url->query));
+ }
#endif
+ sapi_module.treat_data(PARSE_STRING, query, &params);
if ((param = zend_hash_str_find(Z_ARRVAL(params), "weight", sizeof("weight") - 1)) != NULL) {
weight = zval_get_long(param);