You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@httpd.apache.org by Greg Stein <gs...@lyra.org> on 2000/11/18 20:37:48 UTC
Re: cvs commit: apache-2.0/src/main util_filter.c
With this combo, the error message in add_any_filter() (when a filter isn't
found) should probably be fixed.
Cheers,
-g
On Sat, Nov 18, 2000 at 06:57:18PM -0000, rbb@locus.apache.org wrote:
> rbb 00/11/18 10:57:18
>
> Modified: src/main util_filter.c
> Log:
> Remove some common code in adding filters to either the input or
> output filter lists.
> Submitted by: Sascha Schumann <sa...@schumann.cx>
>
> Revision Changes Path
> 1.39 +20 -41 apache-2.0/src/main/util_filter.c
>
> Index: util_filter.c
> ===================================================================
> RCS file: /home/cvs/apache-2.0/src/main/util_filter.c,v
> retrieving revision 1.38
> retrieving revision 1.39
> diff -u -r1.38 -r1.39
> --- util_filter.c 2000/11/09 10:21:12 1.38
> +++ util_filter.c 2000/11/18 18:57:17 1.39
> @@ -121,16 +121,17 @@
> register_filter(name, f, ftype, ®istered_output_filters);
> }
>
> -AP_DECLARE(void) ap_add_input_filter(const char *name, void *ctx,
> - request_rec *r, conn_rec *c)
> +static void add_any_filter(const char *name, void *ctx,
> + request_rec *r, conn_rec *c,
> + ap_filter_rec_t *frec,
> + ap_filter_t **r_filters,
> + ap_filter_t **c_filters)
> {
> - ap_filter_rec_t *frec = registered_input_filters;
> -
> for (; frec != NULL; frec = frec->next) {
> if (!strcasecmp(name, frec->name)) {
> apr_pool_t *p = r ? r->pool : c->pool;
> ap_filter_t *f = apr_pcalloc(p, sizeof(*f));
> - ap_filter_t **outf = r ? &r->input_filters : &c->input_filters;
> + ap_filter_t **outf = r ? r_filters : c_filters;
>
> f->frec = frec;
> f->ctx = ctx;
> @@ -157,6 +158,20 @@
> "an unknown input filter was not added: %s", name);
> }
>
> +AP_DECLARE(void) ap_add_input_filter(const char *name, void *ctx,
> + request_rec *r, conn_rec *c)
> +{
> + add_any_filter(name, ctx, r, c, registered_input_filters,
> + r ? &r->input_filters : NULL, &c->input_filters);
> +}
> +
> +AP_DECLARE(void) ap_add_output_filter(const char *name, void *ctx,
> + request_rec *r, conn_rec *c)
> +{
> + add_any_filter(name, ctx, r, c, registered_output_filters,
> + r ? &r->output_filters : NULL, &c->output_filters);
> +}
> +
> AP_DECLARE(void) ap_remove_output_filter(ap_filter_t *f)
> {
> ap_filter_t *curr;
> @@ -180,42 +195,6 @@
> }
> }
> curr->next = f->next;
> -}
> -
> -AP_DECLARE(void) ap_add_output_filter(const char *name, void *ctx,
> - request_rec *r, conn_rec *c)
> -{
> - ap_filter_rec_t *frec = registered_output_filters;
> -
> - for (; frec != NULL; frec = frec->next) {
> - if (!strcasecmp(name, frec->name)) {
> - apr_pool_t *p = r ? r->pool : c->pool;
> - ap_filter_t *f = apr_pcalloc(p, sizeof(*f));
> - ap_filter_t **outf = r ? &r->output_filters : &c->output_filters;
> -
> - f->frec = frec;
> - f->ctx = ctx;
> - f->r = r;
> - f->c = c;
> -
> - if (INSERT_BEFORE(f, *outf)) {
> - f->next = *outf;
> - *outf = f;
> - }
> - else {
> - ap_filter_t *fscan = *outf;
> - while (!INSERT_BEFORE(f, fscan->next))
> - fscan = fscan->next;
> - f->next = fscan->next;
> - fscan->next = f;
> - }
> -
> - return;
> - }
> - }
> -
> - ap_log_error(APLOG_MARK, APLOG_ERR|APLOG_NOERRNO, 0, NULL,
> - "an unknown output filter was not added: %s", name);
> }
>
> /*
>
>
>
--
Greg Stein, http://www.lyra.org/
Re: cvs commit: apache-2.0/src/main util_filter.c
Posted by rb...@covalent.net.
On Sat, 18 Nov 2000, Greg Stein wrote:
> With this combo, the error message in add_any_filter() (when a filter isn't
> found) should probably be fixed.
Agreed, I missed that. Fix on the way.
Ryan
>
> Cheers,
> -g
>
> On Sat, Nov 18, 2000 at 06:57:18PM -0000, rbb@locus.apache.org wrote:
> > rbb 00/11/18 10:57:18
> >
> > Modified: src/main util_filter.c
> > Log:
> > Remove some common code in adding filters to either the input or
> > output filter lists.
> > Submitted by: Sascha Schumann <sa...@schumann.cx>
> >
> > Revision Changes Path
> > 1.39 +20 -41 apache-2.0/src/main/util_filter.c
> >
> > Index: util_filter.c
> > ===================================================================
> > RCS file: /home/cvs/apache-2.0/src/main/util_filter.c,v
> > retrieving revision 1.38
> > retrieving revision 1.39
> > diff -u -r1.38 -r1.39
> > --- util_filter.c 2000/11/09 10:21:12 1.38
> > +++ util_filter.c 2000/11/18 18:57:17 1.39
> > @@ -121,16 +121,17 @@
> > register_filter(name, f, ftype, ®istered_output_filters);
> > }
> >
> > -AP_DECLARE(void) ap_add_input_filter(const char *name, void *ctx,
> > - request_rec *r, conn_rec *c)
> > +static void add_any_filter(const char *name, void *ctx,
> > + request_rec *r, conn_rec *c,
> > + ap_filter_rec_t *frec,
> > + ap_filter_t **r_filters,
> > + ap_filter_t **c_filters)
> > {
> > - ap_filter_rec_t *frec = registered_input_filters;
> > -
> > for (; frec != NULL; frec = frec->next) {
> > if (!strcasecmp(name, frec->name)) {
> > apr_pool_t *p = r ? r->pool : c->pool;
> > ap_filter_t *f = apr_pcalloc(p, sizeof(*f));
> > - ap_filter_t **outf = r ? &r->input_filters : &c->input_filters;
> > + ap_filter_t **outf = r ? r_filters : c_filters;
> >
> > f->frec = frec;
> > f->ctx = ctx;
> > @@ -157,6 +158,20 @@
> > "an unknown input filter was not added: %s", name);
> > }
> >
> > +AP_DECLARE(void) ap_add_input_filter(const char *name, void *ctx,
> > + request_rec *r, conn_rec *c)
> > +{
> > + add_any_filter(name, ctx, r, c, registered_input_filters,
> > + r ? &r->input_filters : NULL, &c->input_filters);
> > +}
> > +
> > +AP_DECLARE(void) ap_add_output_filter(const char *name, void *ctx,
> > + request_rec *r, conn_rec *c)
> > +{
> > + add_any_filter(name, ctx, r, c, registered_output_filters,
> > + r ? &r->output_filters : NULL, &c->output_filters);
> > +}
> > +
> > AP_DECLARE(void) ap_remove_output_filter(ap_filter_t *f)
> > {
> > ap_filter_t *curr;
> > @@ -180,42 +195,6 @@
> > }
> > }
> > curr->next = f->next;
> > -}
> > -
> > -AP_DECLARE(void) ap_add_output_filter(const char *name, void *ctx,
> > - request_rec *r, conn_rec *c)
> > -{
> > - ap_filter_rec_t *frec = registered_output_filters;
> > -
> > - for (; frec != NULL; frec = frec->next) {
> > - if (!strcasecmp(name, frec->name)) {
> > - apr_pool_t *p = r ? r->pool : c->pool;
> > - ap_filter_t *f = apr_pcalloc(p, sizeof(*f));
> > - ap_filter_t **outf = r ? &r->output_filters : &c->output_filters;
> > -
> > - f->frec = frec;
> > - f->ctx = ctx;
> > - f->r = r;
> > - f->c = c;
> > -
> > - if (INSERT_BEFORE(f, *outf)) {
> > - f->next = *outf;
> > - *outf = f;
> > - }
> > - else {
> > - ap_filter_t *fscan = *outf;
> > - while (!INSERT_BEFORE(f, fscan->next))
> > - fscan = fscan->next;
> > - f->next = fscan->next;
> > - fscan->next = f;
> > - }
> > -
> > - return;
> > - }
> > - }
> > -
> > - ap_log_error(APLOG_MARK, APLOG_ERR|APLOG_NOERRNO, 0, NULL,
> > - "an unknown output filter was not added: %s", name);
> > }
> >
> > /*
> >
> >
> >
>
> --
> Greg Stein, http://www.lyra.org/
>
>
_______________________________________________________________________________
Ryan Bloom rbb@apache.org
406 29th St.
San Francisco, CA 94131
-------------------------------------------------------------------------------