dougm       01/03/15 23:30:25

  Modified:    lib/ModPerl Code.pm
               src/modules/perl modperl_config.c modperl_filter.c
                        modperl_handler.c modperl_mgv.c modperl_types.h
  Log:
  no need for modperl_{files,process,connection}_config_t
  
  Revision  Changes    Path
  1.50      +6 -4      modperl-2.0/lib/ModPerl/Code.pm
  
  Index: Code.pm
  ===================================================================
  RCS file: /home/cvs/modperl-2.0/lib/ModPerl/Code.pm,v
  retrieving revision 1.49
  retrieving revision 1.50
  diff -u -r1.49 -r1.50
  --- Code.pm   2001/03/16 06:32:14     1.49
  +++ Code.pm   2001/03/16 07:30:21     1.50
  @@ -71,8 +71,7 @@
   );
   
   for my $class (qw(Process Connection Files)) {
  -    my $lc_class = lc $class;
  -    $directive_proto{$class}->{cfg}->{name} = "scfg->${lc_class}_cfg";
  +    $directive_proto{$class}->{cfg}->{name} = 'scfg';
       $directive_proto{$class}->{cfg}->{get} = $scfg_get;
   
       for (qw(args scope)) {
  @@ -82,6 +81,9 @@
   
   while (my($k,$v) = each %directive_proto) {
       $directive_proto{$k}->{ret} = 'const char *';
  +    my $handlers = join '_', 'handlers', canon_lc($k);
  +    $directive_proto{$k}->{handlers} =
  +      join '->', $directive_proto{$k}->{cfg}->{name}, $handlers;
   }
   
   #XXX: allow disabling of PerDir hooks on a PerDir basis
  @@ -144,7 +146,7 @@
           my $handler_type = canon_define('HANDLER_TYPE', $class);
   
           print $h_fh "\n#define ",
  -          canon_define($class, 'num_handlers'), " $n\n\n";
  +          canon_define('HANDLER_NUM', $class), " $n\n\n";
   
           print $h_fh "#define $handler_type $type\n\n";
   
  @@ -271,7 +273,7 @@
               my $protostr = canon_proto($prototype, $name);
               my $flag = 'MpSrv' . canon_uc($h);
               my $ix = $self->{handler_index}->{$class}->[$i++];
  -            my $av = "$prototype->{cfg}->{name}->handlers[$ix]";
  +            my $av = "$prototype->{handlers} [$ix]";
   
               print $h_fh "$protostr;\n";
   
  
  
  
  1.27      +13 -22    modperl-2.0/src/modules/perl/modperl_config.c
  
  Index: modperl_config.c
  ===================================================================
  RCS file: /home/cvs/modperl-2.0/src/modules/perl/modperl_config.c,v
  retrieving revision 1.26
  retrieving revision 1.27
  diff -u -r1.26 -r1.27
  --- modperl_config.c  2001/03/16 05:52:29     1.26
  +++ modperl_config.c  2001/03/16 07:30:22     1.27
  @@ -32,8 +32,8 @@
       { /* XXX: should do a proper merge of the arrays */
         /* XXX: and check if Perl*Handler is disabled */
           int i;
  -        for (i=0; i<MP_PER_DIR_NUM_HANDLERS; i++) {
  -            merge_item(handlers[i]);
  +        for (i=0; i < MP_HANDLER_NUM_PER_DIR; i++) {
  +            merge_item(handlers_per_dir[i]);
           }
       }
   
  @@ -63,21 +63,6 @@
   
       modperl_config_srv_argv_push((char *)ap_server_argv0);
   
  -#ifdef MP_CONNECTION_NUM_HANDLERS
  -    scfg->connection_cfg = (modperl_connection_config_t *)
  -        apr_pcalloc(p, sizeof(*scfg->connection_cfg));
  -#endif
  -
  -#ifdef MP_FILES_NUM_HANDLERS
  -    scfg->files_cfg = (modperl_files_config_t *)
  -        apr_pcalloc(p, sizeof(*scfg->files_cfg));
  -#endif
  -
  -#ifdef MP_PROCESS_NUM_HANDLERS
  -    scfg->process_cfg = (modperl_process_config_t *)
  -        apr_pcalloc(p, sizeof(*scfg->process_cfg));
  -#endif
  -
       MP_TRACE_d(MP_FUNC, "0x%lx\n", (unsigned long)scfg);
   
       return scfg;
  @@ -161,15 +146,21 @@
   #endif
   
       merge_item(argv);
  -    merge_item(files_cfg);
  -    merge_item(process_cfg);
  -    merge_item(connection_cfg);
   
       { /* XXX: should do a proper merge of the arrays */
         /* XXX: and check if Perl*Handler is disabled */
           int i;
  -        for (i=0; i<MP_PER_SRV_NUM_HANDLERS; i++) {
  -            merge_item(handlers[i]);
  +        for (i=0; i < MP_HANDLER_NUM_PER_SRV; i++) {
  +            merge_item(handlers_per_srv[i]);
  +        }
  +        for (i=0; i < MP_HANDLER_NUM_FILES; i++) {
  +            merge_item(handlers_files[i]);
  +        }
  +        for (i=0; i < MP_HANDLER_NUM_PROCESS; i++) {
  +            merge_item(handlers_process[i]);
  +        }
  +        for (i=0; i < MP_HANDLER_NUM_CONNECTION; i++) {
  +            merge_item(handlers_connection[i]);
           }
       }
   
  
  
  
  1.10      +1 -1      modperl-2.0/src/modules/perl/modperl_filter.c
  
  Index: modperl_filter.c
  ===================================================================
  RCS file: /home/cvs/modperl-2.0/src/modules/perl/modperl_filter.c,v
  retrieving revision 1.9
  retrieving revision 1.10
  diff -u -r1.9 -r1.10
  --- modperl_filter.c  2001/03/15 05:39:07     1.9
  +++ modperl_filter.c  2001/03/16 07:30:22     1.10
  @@ -336,7 +336,7 @@
       MP_dDCFG;
       MpAV *av;
   
  -    if ((av = dcfg->handlers[MP_OUTPUT_FILTER_HANDLER])) {
  +    if ((av = dcfg->handlers_per_dir[MP_OUTPUT_FILTER_HANDLER])) {
           modperl_handler_t **handlers = (modperl_handler_t **)av->elts;
           int i;
   
  
  
  
  1.4       +5 -5      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.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- modperl_handler.c 2001/03/16 06:41:46     1.3
  +++ modperl_handler.c 2001/03/16 07:30:22     1.4
  @@ -74,23 +74,23 @@
   
       switch (type) {
         case MP_HANDLER_TYPE_PER_DIR:
  -        av = dcfg->handlers[idx];
  +        av = dcfg->handlers_per_dir[idx];
           set_desc(per_dir);
           break;
         case MP_HANDLER_TYPE_PER_SRV:
  -        av = scfg->handlers[idx];
  +        av = scfg->handlers_per_srv[idx];
           set_desc(per_srv);
           break;
         case MP_HANDLER_TYPE_CONNECTION:
  -        av = scfg->connection_cfg->handlers[idx];
  +        av = scfg->handlers_connection[idx];
           set_desc(connection);
           break;
         case MP_HANDLER_TYPE_FILES:
  -        av = scfg->files_cfg->handlers[idx];
  +        av = scfg->handlers_files[idx];
           set_desc(files);
           break;
         case MP_HANDLER_TYPE_PROCESS:
  -        av = scfg->process_cfg->handlers[idx];
  +        av = scfg->handlers_process[idx];
           set_desc(process);
           break;
       };
  
  
  
  1.7       +10 -10    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.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- modperl_mgv.c     2001/03/16 05:32:35     1.6
  +++ modperl_mgv.c     2001/03/16 07:30:23     1.7
  @@ -384,8 +384,8 @@
           return 1;
       }
   
  -    for (i=0; i < MP_PER_DIR_NUM_HANDLERS; i++) {
  -        modperl_hash_handlers(aTHX_ p, s, dir_cfg->handlers[i], data);
  +    for (i=0; i < MP_HANDLER_NUM_PER_DIR; i++) {
  +        modperl_hash_handlers(aTHX_ p, s, dir_cfg->handlers_per_dir[i], data);
       }
   
       return 1;
  @@ -398,24 +398,24 @@
       modperl_config_srv_t *scfg = (modperl_config_srv_t *)cfg;
       MP_dSCFG_dTHX;
   
  -    for (i=0; i < MP_PER_SRV_NUM_HANDLERS; i++) {
  +    for (i=0; i < MP_HANDLER_NUM_PER_SRV; i++) {
           modperl_hash_handlers(aTHX_ p, s,
  -                              scfg->handlers[i], data);
  +                              scfg->handlers_per_srv[i], data);
       }
   
  -    for (i=0; i < MP_PROCESS_NUM_HANDLERS; i++) {
  +    for (i=0; i < MP_HANDLER_NUM_PROCESS; i++) {
           modperl_hash_handlers(aTHX_ p, s,
  -                              scfg->process_cfg->handlers[i], data);
  +                              scfg->handlers_process[i], data);
       }
   
  -    for (i=0; i < MP_CONNECTION_NUM_HANDLERS; i++) {
  +    for (i=0; i < MP_HANDLER_NUM_CONNECTION; i++) {
           modperl_hash_handlers(aTHX_ p, s,
  -                              scfg->connection_cfg->handlers[i], data);
  +                              scfg->handlers_connection[i], data);
       }
   
  -    for (i=0; i < MP_FILES_NUM_HANDLERS; i++) {
  +    for (i=0; i < MP_HANDLER_NUM_FILES; i++) {
           modperl_hash_handlers(aTHX_ p, s,
  -                              scfg->files_cfg->handlers[i], data);
  +                              scfg->handlers_files[i], data);
       }
   
       return 1;
  
  
  
  1.28      +5 -17     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.27
  retrieving revision 1.28
  diff -u -r1.27 -r1.28
  --- modperl_types.h   2001/03/16 05:32:35     1.27
  +++ modperl_types.h   2001/03/16 07:30:23     1.28
  @@ -87,18 +87,6 @@
   
   #endif /* USE_ITHREADS */
   
  -typedef struct {
  -    MpAV *handlers[MP_PROCESS_NUM_HANDLERS];
  -} modperl_process_config_t;
  -
  -typedef struct {
  -    MpAV *handlers[MP_CONNECTION_NUM_HANDLERS];
  -} modperl_connection_config_t;
  -
  -typedef struct {
  -    MpAV *handlers[MP_FILES_NUM_HANDLERS];
  -} modperl_files_config_t;
  -
   typedef U32 modperl_opts_t;
   
   typedef struct {
  @@ -121,10 +109,10 @@
       MpHV *SetVars;
       MpAV *PassEnv;
       MpAV *PerlRequire, *PerlModule;
  -    MpAV *handlers[MP_PER_SRV_NUM_HANDLERS];
  -    modperl_files_config_t *files_cfg;
  -    modperl_process_config_t *process_cfg;
  -    modperl_connection_config_t *connection_cfg;
  +    MpAV *handlers_per_srv[MP_HANDLER_NUM_PER_SRV];
  +    MpAV *handlers_files[MP_HANDLER_NUM_FILES];
  +    MpAV *handlers_process[MP_HANDLER_NUM_PROCESS];
  +    MpAV *handlers_connection[MP_HANDLER_NUM_CONNECTION];
   #ifdef USE_ITHREADS
       modperl_interp_pool_t *mip;
       modperl_tipool_config_t *interp_pool_cfg;
  @@ -143,7 +131,7 @@
   typedef struct {
       char *location;
       char *PerlDispatchHandler;
  -    MpAV *handlers[MP_PER_DIR_NUM_HANDLERS];
  +    MpAV *handlers_per_dir[MP_HANDLER_NUM_PER_DIR];
       MpHV *SetEnv;
       MpHV *SetVars;
       U8 flags;
  
  
  

Reply via email to