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 */