summaryrefslogtreecommitdiff
path: root/src/mod_redirect.c
diff options
context:
space:
mode:
authorGlenn Strauss <gstrauss@gluelogic.com>2019-11-21 00:15:51 -0500
committerGlenn Strauss <gstrauss@gluelogic.com>2020-07-08 18:08:52 -0400
commitc193da34045541171234b79a943e2a5df700142e (patch)
tree71c037e6dcbd7d21eacdb83917b5377e0556cd72 /src/mod_redirect.c
parent5977ce2b4abb40a829f538c2090aa51e82a397cf (diff)
downloadlighttpd-git-c193da34045541171234b79a943e2a5df700142e.tar.gz
[core] split cond cache from cond matches
Diffstat (limited to 'src/mod_redirect.c')
-rw-r--r--src/mod_redirect.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/src/mod_redirect.c b/src/mod_redirect.c
index 97b03408..78a0d11f 100644
--- a/src/mod_redirect.c
+++ b/src/mod_redirect.c
@@ -159,9 +159,12 @@ URIHANDLER_FUNC(mod_redirect_uri_handler) {
mod_redirect_patch_config(con, p);
if (!p->conf.redirect || !p->conf.redirect->used) return HANDLER_GO_ON;
- ctx.cache = p->conf.redirect->x0
- ? &con->cond_cache[p->conf.redirect->x0]
- : NULL;
+
+ ctx.cache = NULL;
+ if (p->conf.redirect->x0) { /*(p->conf.redirect->x0 is context_idx)*/
+ ctx.cond_match_count=con->cond_cache[p->conf.redirect->x0].patterncount;
+ ctx.cache = con->cond_match + p->conf.redirect->x0;
+ }
ctx.burl = &burl;
burl.scheme = con->uri.scheme;
burl.authority = con->uri.authority;