[EMAIL PROTECTED] writes:

> jerenkrantz    01/09/03 23:50:52
> 
>   Modified:    server   util_filter.c
>   Log:
>   The ap_add_input_filter/ap_add_output_filter functions do an O(n) scan
>   through the list of registered filters.  This patch replaces the linear
>   list with a hash table for better performance.
>   Submitted by:       Brian Pane <[EMAIL PROTECTED]>
>   Reviewed by:        Justin Erenkrantz
>   
>   Revision  Changes    Path
>   1.66      +30 -10    httpd-2.0/server/util_filter.c
>   
>   Index: util_filter.c
>   ===================================================================
>   RCS file: /home/cvs/httpd-2.0/server/util_filter.c,v
>   retrieving revision 1.65
>   retrieving revision 1.66
>   diff -u -r1.65 -r1.66
>   --- util_filter.c   2001/08/30 05:25:31     1.65
>   +++ util_filter.c   2001/09/04 06:50:52     1.66
>   @@ -126,12 +132,26 @@
>    
>    static ap_filter_t *add_any_filter(const char *name, void *ctx, 
>                                  request_rec *r, conn_rec *c, 
>   -                              ap_filter_rec_t *frec,
>   +                   apr_hash_t *reg_filter_set,
>                                  ap_filter_t **r_filters,
>                                  ap_filter_t **c_filters)
>    {
>   -    for (; frec != NULL; frec = frec->next) {
>   -        if (!strcasecmp(name, frec->name)) {
>   +    if (reg_filter_set) {
>   +        ap_filter_rec_t *frec;
>   +        int len = strlen(name);
>   +        int size = len + 1;
>   +        char name_lower[size];

not portable, not to mention unbounded stack size; the HP C compiler
won't compile it (maybe a reason to keep it as-is :) )

"array size must be constant expression"

-- 
Jeff Trawick | [EMAIL PROTECTED] | PGP public key at web site:
       http://www.geocities.com/SiliconValley/Park/9289/
             Born in Roswell... married an alien...

Reply via email to