[prev in list] [next in list] [prev in thread] [next in thread] 

List:       apache-cvs
Subject:    cvs commit: httpd-2.0/server config.c
From:       geoff () apache ! org
Date:       2004-01-30 19:43:03
Message-ID: 20040130194303.48014.qmail () minotaur ! apache ! org
[Download RAW message or body]

geoff       2004/01/30 11:43:03

  Modified:    server   config.c
  Log:
  Keep focus of ITERATE and ITERATE2 on the current module when
  the module chooses to return DECLINE_CMD for the directive.
  PR: 22299
  
  Revision  Changes    Path
  1.169     +11 -5     httpd-2.0/server/config.c
  
  Index: config.c
  ===================================================================
  RCS file: /home/cvs/httpd-2.0/server/config.c,v
  retrieving revision 1.168
  retrieving revision 1.169
  diff -u -r1.168 -r1.169
  --- config.c	1 Jan 2004 13:26:23 -0000	1.168
  +++ config.c	30 Jan 2004 19:43:02 -0000	1.169
  @@ -697,7 +697,7 @@
                                 void *mconfig, const char *args)
   {
       char *w, *w2, *w3;
  -    const char *errmsg;
  +    const char *errmsg = NULL;
   
       if ((parms->override & cmd->req_override) == 0)
           return apr_pstrcat(parms->pool, cmd->name, " not allowed here", NULL);
  @@ -797,11 +797,14 @@
   
       case ITERATE:
           while (*(w = ap_getword_conf(parms->pool, &args)) != '\0') {
  -            if ((errmsg = cmd->AP_TAKE1(parms, mconfig, w)))
  +
  +            errmsg = cmd->AP_TAKE1(parms, mconfig, w);
  +
  +            if (errmsg && strcmp(errmsg, DECLINE_CMD) != 0)
                   return errmsg;
           }
   
  -        return NULL;
  +        return errmsg;
   
       case ITERATE2:
           w = ap_getword_conf(parms->pool, &args);
  @@ -812,11 +815,14 @@
                                  cmd->errmsg ? ", " : NULL, cmd->errmsg, NULL);
   
           while (*(w2 = ap_getword_conf(parms->pool, &args)) != '\0') {
  -            if ((errmsg = cmd->AP_TAKE2(parms, mconfig, w, w2)))
  +
  +            errmsg = cmd->AP_TAKE2(parms, mconfig, w, w2);
  +
  +            if (errmsg && strcmp(errmsg, DECLINE_CMD) != 0)
                   return errmsg;
           }
   
  -        return NULL;
  +        return errmsg;
   
       case FLAG:
           w = ap_getword_conf(parms->pool, &args);
  
  
  
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic