dougm       01/03/15 22:41:46

  Modified:    src/modules/perl modperl_callback.c modperl_handler.c
                        modperl_handler.h
  Log:
  need to return the address incase caller needs to initialize (e.g. push/set)
  
  Revision  Changes    Path
  1.33      +4 -4      modperl-2.0/src/modules/perl/modperl_callback.c
  
  Index: modperl_callback.c
  ===================================================================
  RCS file: /home/cvs/modperl-2.0/src/modules/perl/modperl_callback.c,v
  retrieving revision 1.32
  retrieving revision 1.33
  diff -u -r1.32 -r1.33
  --- modperl_callback.c        2001/03/16 06:32:15     1.32
  +++ modperl_callback.c        2001/03/16 06:41:46     1.33
  @@ -102,7 +102,7 @@
       MP_dDCFG;
       modperl_handler_t **handlers;
       apr_pool_t *p = NULL;
  -    MpAV *av = NULL;
  +    MpAV *av, **avp;
       int i, status = OK;
       const char *desc = NULL;
       va_list args;
  @@ -114,10 +114,10 @@
           return DECLINED;
       }
   
  -    av = modperl_handler_lookup_handlers(dcfg, scfg, NULL,
  -                                         type, idx, &desc);
  +    avp = modperl_handler_lookup_handlers(dcfg, scfg, NULL,
  +                                          type, idx, &desc);
   
  -    if (!av) {
  +    if (!(avp && (av = *avp))) {
           MP_TRACE_h(MP_FUNC, "no %s handlers configured (%s)\n",
                      desc, r ? r->uri : "");
           return DECLINED;
  
  
  
  1.3       +6 -6      modperl-2.0/src/modules/perl/modperl_handler.c
  
  Index: modperl_handler.c
  ===================================================================
  RCS file: /home/cvs/modperl-2.0/src/modules/perl/modperl_handler.c,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- modperl_handler.c 2001/03/16 06:32:15     1.2
  +++ modperl_handler.c 2001/03/16 06:41:46     1.3
  @@ -64,11 +64,11 @@
   #define set_desc(dtype) \
       MP_TRACE_a_do(if (desc) *desc = modperl_handler_desc_##dtype(idx))
   
  -MpAV *modperl_handler_lookup_handlers(modperl_config_dir_t *dcfg,
  -                                      modperl_config_srv_t *scfg,
  -                                      modperl_config_req_t *rcfg,
  -                                      int type, int idx,
  -                                      const char **desc)
  +MpAV **modperl_handler_lookup_handlers(modperl_config_dir_t *dcfg,
  +                                       modperl_config_srv_t *scfg,
  +                                       modperl_config_req_t *rcfg,
  +                                       int type, int idx,
  +                                       const char **desc)
   {
       MpAV *av = NULL;
   
  @@ -95,5 +95,5 @@
           break;
       };
   
  -    return av;
  +    return av ? &av : NULL;
   }
  
  
  
  1.3       +5 -5      modperl-2.0/src/modules/perl/modperl_handler.h
  
  Index: modperl_handler.h
  ===================================================================
  RCS file: /home/cvs/modperl-2.0/src/modules/perl/modperl_handler.h,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- modperl_handler.h 2001/03/16 06:32:15     1.2
  +++ modperl_handler.h 2001/03/16 06:41:46     1.3
  @@ -8,10 +8,10 @@
   
   void modperl_handler_make_args(pTHX_ AV **avp, ...);
   
  -MpAV *modperl_handler_lookup_handlers(modperl_config_dir_t *dcfg,
  -                                      modperl_config_srv_t *scfg,
  -                                      modperl_config_req_t *rcfg,
  -                                      int type, int idx,
  -                                      const char **desc);
  +MpAV **modperl_handler_lookup_handlers(modperl_config_dir_t *dcfg,
  +                                       modperl_config_srv_t *scfg,
  +                                       modperl_config_req_t *rcfg,
  +                                       int type, int idx,
  +                                       const char **desc);
   
   #endif /* MODPERL_HANDLER_H */
  
  
  

Reply via email to