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/19 04:26:11 UTC
cvs commit: modperl-2.0/src/modules/perl mod_perl.h modperl_cmd.c
dougm 02/05/18 19:26:11
Modified: src/modules/perl mod_perl.h modperl_cmd.c
Log:
fold some duplication in modperl_cmd_{set,add}_var
Revision Changes Path
1.42 +4 -0 modperl-2.0/src/modules/perl/mod_perl.h
Index: mod_perl.h
===================================================================
RCS file: /home/cvs/modperl-2.0/src/modules/perl/mod_perl.h,v
retrieving revision 1.41
retrieving revision 1.42
diff -u -r1.41 -r1.42
--- mod_perl.h 6 Apr 2002 17:42:10 -0000 1.41
+++ mod_perl.h 19 May 2002 02:26:11 -0000 1.42
@@ -62,4 +62,8 @@
#define MgTypeExt(mg) (mg->mg_type == '~')
+typedef void MP_FUNC_T(modperl_table_modify_t) (apr_table_t *,
+ const char *,
+ const char *);
+
#endif /* MOD_PERL_H */
1.20 +19 -19 modperl-2.0/src/modules/perl/modperl_cmd.c
Index: modperl_cmd.c
===================================================================
RCS file: /home/cvs/modperl-2.0/src/modules/perl/modperl_cmd.c,v
retrieving revision 1.19
retrieving revision 1.20
diff -u -r1.19 -r1.20
--- modperl_cmd.c 19 May 2002 02:10:13 -0000 1.19
+++ modperl_cmd.c 19 May 2002 02:26:11 -0000 1.20
@@ -60,38 +60,38 @@
return NULL;
}
-MP_CMD_SRV_DECLARE2(set_var)
+static MP_CMD_SRV_DECLARE2(handle_vars)
{
MP_dSCFG(parms->server);
modperl_config_dir_t *dcfg = (modperl_config_dir_t *)mconfig;
-
- apr_table_set(dcfg->vars, arg1, arg2);
- MP_TRACE_d(MP_FUNC, "DIR: arg1 = %s, arg2 = %s\n", arg1, arg2);
+ const char *name = parms->cmd->name;
+
+ modperl_table_modify_t func =
+ strEQ(name, "PerlSetVar") ? apr_table_set : apr_table_add;
+
+ func(dcfg->vars, arg1, arg2);
+
+ MP_TRACE_d(MP_FUNC, "%s DIR: arg1 = %s, arg2 = %s\n",
+ name, arg1, arg2);
/* make available via Apache->server->dir_config */
if (!parms->path) {
- apr_table_set(scfg->vars, arg1, arg2);
- MP_TRACE_d(MP_FUNC, "SRV: arg1 = %s, arg2 = %s\n", arg1, arg2);
+ func(scfg->vars, arg1, arg2);
+ MP_TRACE_d(MP_FUNC, "%s SRV: arg1 = %s, arg2 = %s\n",
+ name, arg1, arg2);
}
return NULL;
}
-MP_CMD_SRV_DECLARE2(add_var)
+MP_CMD_SRV_DECLARE2(set_var)
{
- MP_dSCFG(parms->server);
- modperl_config_dir_t *dcfg = (modperl_config_dir_t *)mconfig;
-
- apr_table_add(dcfg->vars, arg1, arg2);
- MP_TRACE_d(MP_FUNC, "DIR: arg1 = %s, arg2 = %s\n", arg1, arg2);
-
- /* make available via Apache->server->dir_config */
- if (!parms->path) {
- apr_table_add(scfg->vars, arg1, arg2);
- MP_TRACE_d(MP_FUNC, "SRV: arg1 = %s, arg2 = %s\n", arg1, arg2);
- }
+ return modperl_cmd_handle_vars(parms, mconfig, arg1, arg2);
+}
- return NULL;
+MP_CMD_SRV_DECLARE2(add_var)
+{
+ return modperl_cmd_handle_vars(parms, mconfig, arg1, arg2);
}
MP_CMD_SRV_DECLARE2(set_env)