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)