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