geoff 2003/05/30 05:55:15
Modified: src/modules/perl modperl_module.c modperl_types.h
t/response/TestDirective perlloadmodule.pm
xs/maps modperl_functions.map
xs/tables/current/Apache StructureTable.pm
xs/tables/current/ModPerl FunctionTable.pm
Log:
implement $parms->info. directive handlers should now be complete.
Submitted by: geoff
Reviewed by: stas
Revision Changes Path
1.14 +1 -7 modperl-2.0/src/modules/perl/modperl_module.c
Index: modperl_module.c
===================================================================
RCS file: /home/cvs/modperl-2.0/src/modules/perl/modperl_module.c,v
retrieving revision 1.13
retrieving revision 1.14
diff -u -r1.13 -r1.14
--- modperl_module.c 12 May 2003 13:00:15 -0000 1.13
+++ modperl_module.c 30 May 2003 12:55:14 -0000 1.14
@@ -13,12 +13,6 @@
modperl_module_info_t *minfo;
} modperl_module_cfg_t;
-typedef struct {
- module *modp;
- const char *cmd_data;
- const char *func_name;
-} modperl_module_cmd_data_t;
-
#define MP_MODULE_INFO(modp) \
(modperl_module_info_t *)modp->dynamic_load_handle
@@ -711,7 +705,7 @@
cmd->cmd_data = info;
/* no default if undefined */
- if (!(errmsg = modperl_module_cmd_fetch(aTHX_ obj, "data", &val))) {
+ if (!(errmsg = modperl_module_cmd_fetch(aTHX_ obj, "cmd_data", &val))) {
info->cmd_data = apr_pstrdup(p, SvPV(val, len));
}
1.67 +6 -0 modperl-2.0/src/modules/perl/modperl_types.h
Index: modperl_types.h
===================================================================
RCS file: /home/cvs/modperl-2.0/src/modules/perl/modperl_types.h,v
retrieving revision 1.66
retrieving revision 1.67
diff -u -r1.66 -r1.67
--- modperl_types.h 17 Apr 2003 08:04:47 -0000 1.66
+++ modperl_types.h 30 May 2003 12:55:14 -0000 1.67
@@ -242,4 +242,10 @@
char *path_info;
} modperl_uri_t;
+typedef struct {
+ module *modp;
+ const char *cmd_data;
+ const char *func_name;
+} modperl_module_cmd_data_t;
+
#endif /* MODPERL_TYPES_H */
1.3 +9 -1 modperl-2.0/t/response/TestDirective/perlloadmodule.pm
Index: perlloadmodule.pm
===================================================================
RCS file: /home/cvs/modperl-2.0/t/response/TestDirective/perlloadmodule.pm,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- perlloadmodule.pm 13 Dec 2002 10:06:55 -0000 1.2
+++ perlloadmodule.pm 30 May 2003 12:55:14 -0000 1.3
@@ -23,6 +23,7 @@
},
{
name => 'MyOtherTest',
+ cmd_data => 'some info',
},
{
name => 'ServerTest',
@@ -72,11 +73,13 @@
sub MyTest {
my($self, $parms, @args) = @_;
$self->{MyTest} = [EMAIL PROTECTED];
+ $self->{MyTestInfo} = $parms->info;
}
sub MyOtherTest {
my($self, $parms, $arg) = @_;
$self->{MyOtherTest} = $arg;
+ $self->{MyOtherTestInfo} = $parms->info;
}
sub ServerTest {
@@ -97,7 +100,7 @@
my $dir_cfg = $self->get_config($s, $r->per_dir_config);
my $srv_cfg = $self->get_config($s);
- plan $r, tests => 7;
+ plan $r, tests => 9;
t_debug("per-dir config:", $dir_cfg);
t_debug("per-srv config:", $srv_cfg);
@@ -116,8 +119,13 @@
ok t_cmp('value', $dir_cfg->{MyOtherTest},
'MyOtherTest value');
+ ok t_cmp('some info', $dir_cfg->{MyOtherTestInfo},
+ 'MyOtherTest cmd_data');
+
ok t_cmp(['one', 'two'], $dir_cfg->{MyTest},
'MyTest one two');
+
+ ok ! $dir_cfg->{MyTestInfo};
ok t_cmp('per-server', $srv_cfg->{ServerTest});
1.57 +2 -0 modperl-2.0/xs/maps/modperl_functions.map
Index: modperl_functions.map
===================================================================
RCS file: /home/cvs/modperl-2.0/xs/maps/modperl_functions.map,v
retrieving revision 1.56
retrieving revision 1.57
diff -u -r1.56 -r1.57
--- modperl_functions.map 1 Apr 2003 05:20:50 -0000 1.56
+++ modperl_functions.map 30 May 2003 12:55:14 -0000 1.57
@@ -130,3 +130,5 @@
mpxs_Apache__Directive_as_hash
Apache__Directive_lookup | MPXS_ | ...
+MODULE=Apache::CmdParms
+ mpxs_Apache__CmdParms_info
1.36 +0 -4 modperl-2.0/xs/tables/current/Apache/StructureTable.pm
Index: StructureTable.pm
===================================================================
RCS file: /home/cvs/modperl-2.0/xs/tables/current/Apache/StructureTable.pm,v
retrieving revision 1.35
retrieving revision 1.36
diff -u -r1.35 -r1.36
--- StructureTable.pm 24 Aug 2002 17:14:40 -0000 1.35
+++ StructureTable.pm 30 May 2003 12:55:14 -0000 1.36
@@ -2499,10 +2499,6 @@
'type' => 'cmd_parms',
'elts' => [
{
- 'type' => 'void *',
- 'name' => 'info'
- },
- {
'type' => 'int',
'name' => 'override'
},
1.115 +18 -0 modperl-2.0/xs/tables/current/ModPerl/FunctionTable.pm
Index: FunctionTable.pm
===================================================================
RCS file: /home/cvs/modperl-2.0/xs/tables/current/ModPerl/FunctionTable.pm,v
retrieving revision 1.114
retrieving revision 1.115
diff -u -r1.114 -r1.115
--- FunctionTable.pm 12 May 2003 13:00:15 -0000 1.114
+++ FunctionTable.pm 30 May 2003 12:55:15 -0000 1.115
@@ -6641,6 +6641,24 @@
}
]
},
+ {
+ 'return_type' => 'SV *',
+ 'name' => 'mpxs_Apache__CmdParms_info',
+ 'attr' => [
+ 'static',
+ '__inline__'
+ ],
+ 'args' => [
+ {
+ 'type' => 'PerlInterpreter *',
+ 'name' => 'my_perl'
+ },
+ {
+ 'type' => 'cmd_parms *',
+ 'name' => 'cmd_parms'
+ }
+ ]
+ },
];