You are viewing a plain text version of this content. The canonical link for it is here.
Posted to modperl-cvs@perl.apache.org by do...@apache.org on 2002/05/24 04:33:06 UTC
cvs commit: modperl-2.0/t/response/TestModperl methodname.pm
dougm 02/05/23 19:33:06
Modified: src/modules/perl modperl_mgv.c
t/response/TestModperl methodname.pm
Log:
if Class->method syntax is used for a Perl*Handler, the :method
attribute is not required (and we had been segfaulting without it)
Revision Changes Path
1.17 +4 -3 modperl-2.0/src/modules/perl/modperl_mgv.c
Index: modperl_mgv.c
===================================================================
RCS file: /home/cvs/modperl-2.0/src/modules/perl/modperl_mgv.c,v
retrieving revision 1.16
retrieving revision 1.17
diff -u -r1.16 -r1.17
--- modperl_mgv.c 18 May 2002 01:49:37 -0000 1.16
+++ modperl_mgv.c 24 May 2002 02:33:06 -0000 1.17
@@ -303,9 +303,10 @@
if ((gv = gv_fetchmethod(stash, handler_name)) && (cv = GvCV(gv))) {
if (CvFLAGS(cv) & CVf_METHOD) { /* sub foo : method {}; */
MpHandlerMETHOD_On(handler);
- if (!handler->mgv_obj) {
- modperl_mgv_new_name(handler->mgv_obj, p, HvNAME(stash));
- }
+ }
+
+ if (MpHandlerMETHOD(handler) && !handler->mgv_obj) {
+ modperl_mgv_new_name(handler->mgv_obj, p, HvNAME(stash));
}
handler->attrs = (U32)MP_CODE_ATTRS(cv);
1.2 +2 -1 modperl-2.0/t/response/TestModperl/methodname.pm
Index: methodname.pm
===================================================================
RCS file: /home/cvs/modperl-2.0/t/response/TestModperl/methodname.pm,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- methodname.pm 18 May 2002 02:07:42 -0000 1.1
+++ methodname.pm 24 May 2002 02:33:06 -0000 1.2
@@ -10,7 +10,8 @@
use TestModperl::method ();
-sub response : method {
+#no : method attribute required when -> config syntax is used
+sub response {
TestModperl::method::handler(@_);
}