Loading include/util_filter.h +2 −0 Original line number Diff line number Diff line Loading @@ -275,7 +275,9 @@ struct ap_filter_provider_t { REGEX_MATCH, INT_EQ, INT_LT, INT_LE, INT_GT, INT_GE, DEFINED } match_type; Loading modules/experimental/mod_filter.c +24 −2 Original line number Diff line number Diff line Loading @@ -170,11 +170,21 @@ static ap_out_filter_func filter_lookup(request_rec *r, ap_filter_rec_t *filter) match = 0; } break; case INT_LE: if (atoi(str) <= provider->match.number) { match = 0; } break; case INT_GT: if (atoi(str) > provider->match.number) { match = 0; } break; case INT_GE: if (atoi(str) >= provider->match.number) { match = 0; } break; case DEFINED: /* we already handled this:-) */ break; } Loading Loading @@ -486,11 +496,23 @@ static const char *filter_provider(cmd_parms *cmd, void *CFG, const char *fname, switch (*match++) { case '<': if (*match == '=') { provider->match_type = INT_LE; ++match; } else { provider->match_type = INT_LT; } provider->match.number = atoi(match); break; case '>': if (*match == '=') { provider->match_type = INT_GE; ++match; } else { provider->match_type = INT_GT; } provider->match.number = atoi(match); break; case '=': Loading Loading
include/util_filter.h +2 −0 Original line number Diff line number Diff line Loading @@ -275,7 +275,9 @@ struct ap_filter_provider_t { REGEX_MATCH, INT_EQ, INT_LT, INT_LE, INT_GT, INT_GE, DEFINED } match_type; Loading
modules/experimental/mod_filter.c +24 −2 Original line number Diff line number Diff line Loading @@ -170,11 +170,21 @@ static ap_out_filter_func filter_lookup(request_rec *r, ap_filter_rec_t *filter) match = 0; } break; case INT_LE: if (atoi(str) <= provider->match.number) { match = 0; } break; case INT_GT: if (atoi(str) > provider->match.number) { match = 0; } break; case INT_GE: if (atoi(str) >= provider->match.number) { match = 0; } break; case DEFINED: /* we already handled this:-) */ break; } Loading Loading @@ -486,11 +496,23 @@ static const char *filter_provider(cmd_parms *cmd, void *CFG, const char *fname, switch (*match++) { case '<': if (*match == '=') { provider->match_type = INT_LE; ++match; } else { provider->match_type = INT_LT; } provider->match.number = atoi(match); break; case '>': if (*match == '=') { provider->match_type = INT_GE; ++match; } else { provider->match_type = INT_GT; } provider->match.number = atoi(match); break; case '=': Loading