cvs commit: modperl Changes

2001-04-17 Thread dougm

dougm   01/04/17 14:30:09

  Modified:src/modules/perl perl_util.c
   .Changes
  Log:
  make sure global for Apache-request is reset after configuring %ENV
  
  Revision  ChangesPath
  1.46  +2 -0  modperl/src/modules/perl/perl_util.c
  
  Index: perl_util.c
  ===
  RCS file: /home/cvs/modperl/src/modules/perl/perl_util.c,v
  retrieving revision 1.45
  retrieving revision 1.46
  diff -u -r1.45 -r1.46
  --- perl_util.c   2001/02/16 23:30:28 1.45
  +++ perl_util.c   2001/04/17 21:30:02 1.46
  @@ -610,6 +610,8 @@
   
   add_common_vars(r); 
   add_cgi_vars(r); 
  +/* resetup global request rec, because it may set to an (invalid) subrequest by 
ap_add_cgi_vars */
  +perl_request_rec(r);
   
   if (!table_get(envtab, "TZ")) {
if ((tz = getenv("TZ")) != NULL) {
  
  
  
  1.582 +3 -0  modperl/Changes
  
  Index: Changes
  ===
  RCS file: /home/cvs/modperl/Changes,v
  retrieving revision 1.581
  retrieving revision 1.582
  diff -u -r1.581 -r1.582
  --- Changes   2001/02/16 23:30:23 1.581
  +++ Changes   2001/04/17 21:30:06 1.582
  @@ -10,6 +10,9 @@
   
   =item 1.25_01-dev
   
  +make sure global for Apache-request is reset after configuring %ENV
  +[Gerald Richter [EMAIL PROTECTED]]
  +
   adjust 'U' magic functions to Perl 5.7.x-dev prototype change
   
   Put Apache's CFLAGS into AP_CFLAGS instead of CFLAGS, so that
  
  
  



cvs commit: modperl/src/modules/perl mod_perl.c

2001-04-17 Thread dougm

dougm   01/04/17 15:01:20

  Modified:.Changes
   src/modules/perl mod_perl.c
  Log:
  back out 'stop win32 crash when bringing down service' change, no
  longer needed with 1.3.19
  
  Revision  ChangesPath
  1.586 +4 -0  modperl/Changes
  
  Index: Changes
  ===
  RCS file: /home/cvs/modperl/Changes,v
  retrieving revision 1.585
  retrieving revision 1.586
  diff -u -r1.585 -r1.586
  --- Changes   2001/04/17 21:57:17 1.585
  +++ Changes   2001/04/17 22:01:13 1.586
  @@ -10,6 +10,10 @@
   
   =item 1.25_01-dev
   
  +back out 'stop win32 crash when bringing down service' change, no
  +longer needed with 1.3.19
  +[John Sterling, Will Rowe]
  +
   $r-no_cache(0) will unset cache headers
   [Geoffrey Young [EMAIL PROTECTED]]
   
  
  
  
  1.136 +0 -12 modperl/src/modules/perl/mod_perl.c
  
  Index: mod_perl.c
  ===
  RCS file: /home/cvs/modperl/src/modules/perl/mod_perl.c,v
  retrieving revision 1.135
  retrieving revision 1.136
  diff -u -r1.135 -r1.136
  --- mod_perl.c2001/02/16 23:30:27 1.135
  +++ mod_perl.c2001/04/17 22:01:18 1.136
  @@ -509,18 +509,6 @@
   { 
   array_header *librefs;
   
  -#ifdef WIN32
  -// This is here to stop a crash when bringing down
  -// a service.  Apparently the dso is unloaded too early.
  -// This if statement tests to see if we are running as a 
  -// service. apache does the same
  -// see apache's isProcessService() in service.c 
  -if (AllocConsole()) {
  -FreeConsole();
  -return;
  -} 
  -#endif
  -
   librefs = xs_dl_librefs((pool *)data);
   perl_shutdown(NULL, NULL);
   unload_xs_so(librefs);
  
  
  



cvs commit: modperl Changes Makefile.PL

2001-04-17 Thread dougm

dougm   01/04/17 15:39:09

  Modified:.Changes Makefile.PL
  Log:
  improve Apache::MyConfig
  
  Revision  ChangesPath
  1.587 +2 -0  modperl/Changes
  
  Index: Changes
  ===
  RCS file: /home/cvs/modperl/Changes,v
  retrieving revision 1.586
  retrieving revision 1.587
  diff -u -r1.586 -r1.587
  --- Changes   2001/04/17 22:01:13 1.586
  +++ Changes   2001/04/17 22:39:06 1.587
  @@ -10,6 +10,8 @@
   
   =item 1.25_01-dev
   
  +improve Apache::MyConfig [Stas Bekman [EMAIL PROTECTED]]
  +
   back out 'stop win32 crash when bringing down service' change, no
   longer needed with 1.3.19
   [John Sterling, Will Rowe]
  
  
  
  1.180 +18 -15modperl/Makefile.PL
  
  Index: Makefile.PL
  ===
  RCS file: /home/cvs/modperl/Makefile.PL,v
  retrieving revision 1.179
  retrieving revision 1.180
  diff -u -r1.179 -r1.180
  --- Makefile.PL   2001/04/17 21:38:52 1.179
  +++ Makefile.PL   2001/04/17 22:39:07 1.180
  @@ -95,6 +95,7 @@
   $Apache::MyConfig::Setup{Apache_Src} ; 
   
   my $PWD = cwd;
  +$ENV{APACHE_CWD} = $PWD;
   $ENV{PERL5LIB} = "$PWD/lib";
   
   my %SSL = (
  @@ -1977,9 +1978,23 @@
   EOS
   }
   
  -local *FH;
  -# writing Configuration to Apache::MyConfig
  +# preparing and writing Configuration to Apache::MyConfig
  +my %my_config = %callback_hooks;
  +my @other_hooks = qw(APACHE_SRC SSL_BASE APXS PERL_USELARGEFILES
  + PERL_TRACE PERL_DEBUG APACI_ARGS APACHE_PREFIX
  + DO_HTTPD NO_HTTPD PREP_HTTPD USE_APACI
  + APACHE_HEADER_INSTALL PERL_STATIC_EXTS );
  +{
  +no strict 'refs';
  +$my_config{$_} = ${$_} for @other_hooks;
  +}
   
  +my $my_config_dump = join ",\n",
  +map { qq{'$_' = } .
  +  ($my_config{$_} =~ /^\d+$/ ? $my_config{$_} : qq{'$my_config{$_}'})
  +} sort keys %my_config;
  +
  +local *FH;
   open FH, 'lib/Apache/MyConfig.pm'  ||
die "Can't open lib/Apache/MyConfig.pm: $!";
   print FH EOT;
  @@ -1989,20 +2004,8 @@
   package Apache::MyConfig;
   
   %Setup = (
  -   'Apache_Src' = \'$APACHE_SRC\',
  -   'SSL_BASE' = \'$SSL_BASE\',
  -   'APXS' = \'$WITH_APXS\',
  -   'PERL_USELARGEFILES' = \'$PERL_USELARGEFILES\',
  -EOT
  -
  -  foreach my $key (sort @callback_hooks) {
  -print FH "   \'$key\' = \'$callback_hooks{$key}\',\n";
  -  }
  -
  -  print FH EOT;
  -   $string
  +$my_config_dump
   );
  -
   1;
   
   __END__
  
  
  



cvs commit: modperl Makefile.PL

2001-04-17 Thread dougm

dougm   01/04/17 15:42:05

  Modified:.Makefile.PL
  Log:
  need this alias for Apache::src backwards compat
  
  Revision  ChangesPath
  1.181 +3 -0  modperl/Makefile.PL
  
  Index: Makefile.PL
  ===
  RCS file: /home/cvs/modperl/Makefile.PL,v
  retrieving revision 1.180
  retrieving revision 1.181
  diff -u -r1.180 -r1.181
  --- Makefile.PL   2001/04/17 22:39:07 1.180
  +++ Makefile.PL   2001/04/17 22:42:03 1.181
  @@ -1989,6 +1989,9 @@
   $my_config{$_} = ${$_} for @other_hooks;
   }
   
  +#need this alias for Apache::src backwards compat
  +$my_config{'Apache_Src'} = $my_config{'APACHE_SRC'};
  +
   my $my_config_dump = join ",\n",
   map { qq{'$_' = } .
 ($my_config{$_} =~ /^\d+$/ ? $my_config{$_} : qq{'$my_config{$_}'})
  
  
  



cvs commit: modperl Makefile.PL Changes

2001-04-17 Thread dougm

dougm   01/04/17 14:38:55

  Modified:.Makefile.PL Changes
  Log:
  fix 'make tar_Apache'
  
  Revision  ChangesPath
  1.179 +1 -1  modperl/Makefile.PL
  
  Index: Makefile.PL
  ===
  RCS file: /home/cvs/modperl/Makefile.PL,v
  retrieving revision 1.178
  retrieving revision 1.179
  diff -u -r1.178 -r1.179
  --- Makefile.PL   2001/01/29 17:43:21 1.178
  +++ Makefile.PL   2001/04/17 21:38:52 1.179
  @@ -1385,7 +1385,7 @@
   
   tar_Apache:
(cd $(INSTALLSITELIB)/$(ARCHNAME); \
  -  $(TAR) -cf $(PWD)/Apache.tar mod_perl.pm Apache.pm Apache 
$(ARCHNAME)/auto/Apache; )
  +$(TAR) -cf $(PWD)/Apache.tar mod_perl.pm Apache.pm Apache auto/Apache; )
   
   offsite-tar:
$(CP) MANIFEST MANIFEST.orig
  
  
  
  1.583 +2 -0  modperl/Changes
  
  Index: Changes
  ===
  RCS file: /home/cvs/modperl/Changes,v
  retrieving revision 1.582
  retrieving revision 1.583
  diff -u -r1.582 -r1.583
  --- Changes   2001/04/17 21:30:06 1.582
  +++ Changes   2001/04/17 21:38:52 1.583
  @@ -10,6 +10,8 @@
   
   =item 1.25_01-dev
   
  +fix 'make tar_Apache' [Geoffrey Young [EMAIL PROTECTED]]
  +
   make sure global for Apache-request is reset after configuring %ENV
   [Gerald Richter [EMAIL PROTECTED]]
   
  
  
  



Re: cvs commit: modperl/src/modules/perl mod_perl.c

2001-04-17 Thread Doug MacEachern

On Wed, 7 Mar 2001, Ask Bjoern Hansen wrote:

 On 6 Oct 2000 [EMAIL PROTECTED] wrote:
 
  dougm   00/10/06 13:18:29
  
Modified:t/internal error.t
 src/modules/perl mod_perl.c
Log:
more for the "Apache::send_http_header was resetting r-status = 200" fix
 
 Doug, do you remember what this was about?

just that sent_http_header should not modify r-status
 
 (I just had a problem with only being able to get redirects from a
 subrequest to work if I set status == 302 but returned 200 from the
 handler).

you should not modify $r-status and return 302 from the handler.




cvs commit: modperl/apaci mod_perl.exp

2001-04-17 Thread dougm

dougm   01/04/17 14:48:57

  Modified:.Changes
   src/modules/win32 mod_perl.def
   apacimod_perl.exp
  Log:
  export hvrv2table (needed by Apache::Request) for aix and win32
  
  Revision  ChangesPath
  1.584 +3 -0  modperl/Changes
  
  Index: Changes
  ===
  RCS file: /home/cvs/modperl/Changes,v
  retrieving revision 1.583
  retrieving revision 1.584
  diff -u -r1.583 -r1.584
  --- Changes   2001/04/17 21:38:52 1.583
  +++ Changes   2001/04/17 21:48:49 1.584
  @@ -10,6 +10,9 @@
   
   =item 1.25_01-dev
   
  +export hvrv2table (needed by Apache::Request) for aix and win32
  +[Jens-Uwe Mager [EMAIL PROTECTED], Randy Kobes [EMAIL PROTECTED]]
  +
   fix 'make tar_Apache' [Geoffrey Young [EMAIL PROTECTED]]
   
   make sure global for Apache-request is reset after configuring %ENV
  
  
  
  1.2   +1 -0  modperl/src/modules/win32/mod_perl.def
  
  Index: mod_perl.def
  ===
  RCS file: /home/cvs/modperl/src/modules/win32/mod_perl.def,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- mod_perl.def  2000/12/31 19:34:16 1.1
  +++ mod_perl.def  2001/04/17 21:48:52 1.2
  @@ -10,5 +10,6 @@
  perl_cmd_perl_TAKE1
  perl_cmd_perl_TAKE123
  perl_perl_cmd_cleanup
  +   hvrv2table
   
   
  
  
  
  1.3   +1 -0  modperl/apaci/mod_perl.exp
  
  Index: mod_perl.exp
  ===
  RCS file: /home/cvs/modperl/apaci/mod_perl.exp,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- mod_perl.exp  2000/03/03 22:20:18 1.2
  +++ mod_perl.exp  2001/04/17 21:48:55 1.3
  @@ -4,3 +4,4 @@
   mod_perl_tie_table
   sv2request_rec
   perl_request_rec
  +hvrv2table
  
  
  



cvs commit: modperl-2.0/Apache-Test/lib/Apache Test.pm

2001-04-17 Thread dougm

dougm   01/04/17 21:36:58

  Modified:Apache-Test/lib/Apache Test.pm
  Log:
  add Apache::TestToString class for feeding Test.pm output into a string
  
  Revision  ChangesPath
  1.3   +34 -3 modperl-2.0/Apache-Test/lib/Apache/Test.pm
  
  Index: Test.pm
  ===
  RCS file: /home/cvs/modperl-2.0/Apache-Test/lib/Apache/Test.pm,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- Test.pm   2001/04/04 04:36:57 1.2
  +++ Test.pm   2001/04/18 04:36:56 1.3
  @@ -11,6 +11,12 @@
   our $VERSION = '0.01';
   
   #so Perl's Test.pm can be run inside mod_perl
  +sub test_pm_refresh {
  +$Test::TESTOUT = \*STDOUT;
  +$Test::planned = 0;
  +$Test::ntest = 1;
  +}
  +
   sub init_test_pm {
   my $r = shift;
   
  @@ -27,9 +33,7 @@
   
   $r-content_type('text/plain');
   
  -$Test::TESTOUT = \*STDOUT;
  -$Test::planned = 0;
  -$Test::ntest = 1;
  +test_pm_refresh();
   }
   
   sub plan {
  @@ -51,6 +55,33 @@
   }
   
   Test::plan(@_);
  +}
  +
  +package Apache::TestToString;
  +
  +sub TIEHANDLE {
  +my $string = "";
  +bless \$string;
  +}
  +
  +sub PRINT {
  +my $string = shift;
  +$$string .= join '', @_;
  +}
  +
  +sub start {
  +tie *STDOUT, __PACKAGE__;
  +Apache::Test::test_pm_refresh();
  +}
  +
  +sub finish {
  +my $s;
  +{
  +my $o = tied *STDOUT;
  +$s = $$o;
  +}
  +untie *STDOUT;
  +$s;
   }
   
   1;
  
  
  



cvs commit: modperl-2.0/src/modules/perl modperl_filter.c

2001-04-17 Thread dougm

dougm   01/04/17 21:37:47

  Modified:src/modules/perl modperl_filter.c
  Log:
  pass the APR::Brigade to filter handlers
  
  Revision  ChangesPath
  1.11  +1 -0  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.10
  retrieving revision 1.11
  diff -u -r1.10 -r1.11
  --- modperl_filter.c  2001/03/16 07:30:22 1.10
  +++ modperl_filter.c  2001/04/18 04:37:46 1.11
  @@ -95,6 +95,7 @@
   
   modperl_handler_make_args(aTHX_ args,
 filter_classes[filter-mode], filter,
  +  "APR::Brigade", filter-bb,
 NULL);
   
   if ((status = modperl_callback(aTHX_ handler, p, s, args)) != OK) {
  
  
  



cvs commit: modperl-2.0/lib/ModPerl Code.pm

2001-04-17 Thread dougm

dougm   01/04/17 21:40:02

  Modified:lib/ModPerl Code.pm
  Log:
  include modperl_bucket
  
  Revision  ChangesPath
  1.57  +1 -1  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.56
  retrieving revision 1.57
  diff -u -r1.56 -r1.57
  --- Code.pm   2001/04/11 23:00:59 1.56
  +++ Code.pm   2001/04/18 04:40:00 1.57
  @@ -520,7 +520,7 @@
   );
   
   my @c_src_names = qw(interp tipool log config cmd options callback handler
  - gtop util filter mgv pcw);
  + gtop util filter bucket mgv pcw);
   my @g_c_names = map { "modperl_$_" } qw(hooks directives flags xsinit);
   my @c_names   = ('mod_perl', (map "modperl_$_", @c_src_names));
   sub c_files { [map { "$_.c" } @c_names, @g_c_names] }
  
  
  



cvs commit: modperl-2.0/xs/tables/current/ModPerl FunctionTable.pm

2001-04-17 Thread dougm

dougm   01/04/17 21:42:54

  Modified:xs/tables/current/Apache ConstantsTable.pm FunctionTable.pm
StructureTable.pm
   xs/tables/current/ModPerl FunctionTable.pm
  Log:
  sync generated tables
  
  Revision  ChangesPath
  1.4   +1 -1  modperl-2.0/xs/tables/current/Apache/ConstantsTable.pm
  
  Index: ConstantsTable.pm
  ===
  RCS file: /home/cvs/modperl-2.0/xs/tables/current/Apache/ConstantsTable.pm,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- ConstantsTable.pm 2001/04/12 00:59:21 1.3
  +++ ConstantsTable.pm 2001/04/18 04:42:50 1.4
  @@ -2,7 +2,7 @@
   
   # !!
   # ! WARNING: generated by Apache::ParseSource/0.02
  -# !  Wed Apr 11 17:57:08 2001
  +# !  Mon Apr 16 18:17:25 2001
   # !  do NOT edit, any changes will be lost !
   # !!
   
  
  
  
  1.2   +117 -300  modperl-2.0/xs/tables/current/Apache/FunctionTable.pm
  
  Index: FunctionTable.pm
  ===
  RCS file: /home/cvs/modperl-2.0/xs/tables/current/Apache/FunctionTable.pm,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- FunctionTable.pm  2001/03/26 16:05:47 1.1
  +++ FunctionTable.pm  2001/04/18 04:42:50 1.2
  @@ -2,7 +2,7 @@
   
   # !!
   # ! WARNING: generated by Apache::ParseSource/0.02
  -# !  Mon Mar 26 07:44:02 2001
  +# !  Tue Apr 17 21:37:29 2001
   # !  do NOT edit, any changes will be lost !
   # !!
   
  @@ -436,6 +436,24 @@
 {
   'name' = 'input',
   'type' = 'apr_time_t'
  +  },
  +  {
  +'name' = 'offs',
  +'type' = 'apr_int32_t'
  +  }
  +],
  +'name' = 'apr_explode_time'
  +  },
  +  {
  +'return_type' = 'apr_status_t',
  +'args' = [
  +  {
  +'name' = 'result',
  +'type' = 'apr_exploded_time_t *'
  +  },
  +  {
  +'name' = 'input',
  +'type' = 'apr_time_t'
 }
   ],
   'name' = 'apr_explode_gmt'
  @@ -636,6 +654,24 @@
   'return_type' = 'apr_status_t',
   'args' = [
 {
  +'name' = 'rootpath',
  +'type' = 'const char **'
  +  },
  +  {
  +'name' = 'filepath',
  +'type' = 'const char **'
  +  },
  +  {
  +'name' = 'p',
  +'type' = 'apr_pool_t *'
  +  }
  +],
  +'name' = 'apr_filepath_root'
  +  },
  +  {
  +'return_type' = 'apr_status_t',
  +'args' = [
  +  {
   'name' = 'newpath',
   'type' = 'char **'
 },
  @@ -662,6 +698,34 @@
   'return_type' = 'apr_status_t',
   'args' = [
 {
  +'name' = 'path',
  +'type' = 'char **'
  +  },
  +  {
  +'name' = 'p',
  +'type' = 'apr_pool_t *'
  +  }
  +],
  +'name' = 'apr_filepath_get'
  +  },
  +  {
  +'return_type' = 'apr_status_t',
  +'args' = [
  +  {
  +'name' = 'path',
  +'type' = 'const char *'
  +  },
  +  {
  +'name' = 'p',
  +'type' = 'apr_pool_t *'
  +  }
  +],
  +'name' = 'apr_filepath_set'
  +  },
  +  {
  +'return_type' = 'apr_status_t',
  +'args' = [
  +  {
   'name' = 'new_file',
   'type' = 'apr_file_t **'
 },
  @@ -740,16 +804,6 @@
   'return_type' = 'apr_status_t',
   'args' = [
 {
  -'name' = 'fptr',
  -'type' = 'apr_file_t *'
  -  }
  -],
  -'name' = 'apr_file_error'
  -  },
  -  {
  -'return_type' = 'apr_status_t',
  -'args' = [
  -  {
   'name' = 'thefile',
   'type' = 'apr_file_t **'
 },
  @@ -2600,7 +2654,7 @@
   'type' = 'apr_int32_t'
 }
   ],
  -'name' = 'apr_threadattr_detach_get'
  +'name' = 'apr_threadattr_detach_set'
 },
 {
   'return_type' = 'apr_status_t',
  @@ -2610,7 +2664,7 @@
   'type' = 'apr_threadattr_t *'
 }
   ],
  -'name' = 'apr_threadattr_detach_set'
  +'name' = 'apr_threadattr_detach_get'
 },
 {
   'return_type' = 'apr_status_t',
  @@ -3149,24 +3203,12 @@
 {
   'return_type' = 'apr_status_t',
   'args' = [
  -  {
  -'name' = 'td',
  -'type' = 'apr_thread_t **'
  -  },
  -  {
  -'name' = 'tattr',
  -'type' = 'apr_threadattr_t *'
  -  },
 {
  -'name' = 'arg2',
  -'type' = 'int (*signal_handler)(int signum)'
  -  },
  -  {
  -'name' = 'p',
  -'type' = 'apr_pool_t *'
  +'name' = 'arg0',
  +'type' = 'int(*signal_handler)(int signum)'
 }
   ],
  -

cvs commit: modperl-2.0/xs/APR/Brigade APR__Brigade.h

2001-04-17 Thread dougm

dougm   01/04/17 22:09:56

  Modified:xs/APR/Brigade APR__Brigade.h
  Log:
  add some APR::Brigade methods
  
  Revision  ChangesPath
  1.2   +59 -2 modperl-2.0/xs/APR/Brigade/APR__Brigade.h
  
  Index: APR__Brigade.h
  ===
  RCS file: /home/cvs/modperl-2.0/xs/APR/Brigade/APR__Brigade.h,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- APR__Brigade.h2001/03/05 03:53:28 1.1
  +++ APR__Brigade.h2001/04/18 05:09:56 1.2
  @@ -1,5 +1,62 @@
  -static MP_INLINE apr_bucket_brigade *mpxs_apr_brigade_create(pTHX_ SV *CLASS,
  - apr_pool_t *p)
  +static MP_INLINE
  +apr_bucket_brigade *mpxs_apr_brigade_create(pTHX_ SV *CLASS,
  +apr_pool_t *p)
   {
   return apr_brigade_create(p);
   }
  +
  +#define get_brigade(brigade, fetch) \
  +(fetch(brigade) == APR_BRIGADE_SENTINEL(brigade) ? \
  + NULL : fetch(brigade))
  +
  +static MP_INLINE
  +apr_bucket *mpxs_APR__Brigade_first(apr_bucket_brigade *brigade)
  +{
  +return get_brigade(brigade, APR_BRIGADE_FIRST);
  +}
  +
  +static MP_INLINE
  +apr_bucket *mpxs_APR__Brigade_last(apr_bucket_brigade *brigade)
  +{
  +return get_brigade(brigade, APR_BRIGADE_LAST);
  +}
  +
  +#define get_bucket(brigade, bucket, fetch) \
  +(fetch(bucket) == APR_BRIGADE_SENTINEL(brigade) ? \
  + NULL : fetch(bucket))
  +
  +static MP_INLINE
  +apr_bucket *mpxs_APR__Brigade_next(apr_bucket_brigade *brigade,
  +apr_bucket *bucket)
  +{
  +return get_bucket(brigade, bucket, APR_BUCKET_NEXT);
  +}
  +
  +static MP_INLINE
  +apr_bucket *mpxs_APR__Brigade_prev(apr_bucket_brigade *brigade,
  +   apr_bucket *bucket)
  +{
  +return get_bucket(brigade, bucket, APR_BUCKET_PREV);
  +}
  +
  +static MP_INLINE
  +void mpxs_APR__Brigade_insert_tail(apr_bucket_brigade *brigade,
  +   apr_bucket *bucket)
  +{
  +APR_BRIGADE_INSERT_TAIL(brigade, bucket);
  +}
  +
  +static MP_INLINE
  +void mpxs_APR__Brigade_insert_head(apr_bucket_brigade *brigade,
  +   apr_bucket *bucket)
  +{
  +APR_BRIGADE_INSERT_HEAD(brigade, bucket);
  +}
  +
  +static MP_INLINE
  +void mpxs_APR__Brigade_concat(apr_bucket_brigade *a,
  +  apr_bucket_brigade *b)
  +{
  +APR_BRIGADE_CONCAT(a, b);
  +}
  +
  
  
  



cvs commit: modperl-2.0/xs/maps apr_functions.map apr_structures.map apr_types.map

2001-04-17 Thread dougm

dougm   01/04/17 22:10:44

  Modified:xs/maps  apr_functions.map apr_structures.map apr_types.map
  Log:
  enable APR::Bucket module, add some APR::Brigade methods
  
  Revision  ChangesPath
  1.7   +46 -31modperl-2.0/xs/maps/apr_functions.map
  
  Index: apr_functions.map
  ===
  RCS file: /home/cvs/modperl-2.0/xs/maps/apr_functions.map,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- apr_functions.map 2001/04/12 05:38:25 1.6
  +++ apr_functions.map 2001/04/18 05:10:43 1.7
  @@ -75,38 +75,53 @@
apr_brigade_write
apr_brigade_puts
apr_brigade_putc
  + mpxs_APR__Brigade_first#APR_BRIGADE_FIRST
  + mpxs_APR__Brigade_last #APR_BRIGADE_LAST
  + mpxs_APR__Brigade_prev #APR_BUCKET_PREV
  + mpxs_APR__Brigade_next #APR_BUCKET_NEXT
  + mpxs_APR__Brigade_insert_tail  #APR_BRIGADE_INSERT_TAIL
  + mpxs_APR__Brigade_insert_head  #APR_BRIGADE_INSERT_HEAD
  + mpxs_APR__Brigade_concat   #APR_BRIGADE_CONCAT
   
  -!MODULE=APR::Bucket
  - apr_bucket_copy_notimpl
  - apr_bucket_shared_copy
  - apr_bucket_eos_create
  - apr_bucket_file_create
  - apr_bucket_flush_create
  - apr_bucket_heap_create
  - apr_bucket_immortal_create
  - apr_bucket_mmap_create
  - apr_bucket_pipe_create
  - apr_bucket_pool_create
  - apr_bucket_socket_create
  - apr_bucket_transient_create
  - apr_bucket_destroy_notimpl
  - apr_bucket_shared_destroy
  - apr_bucket_eos_make
  - apr_bucket_file_make
  - apr_bucket_flush_make
  - apr_bucket_heap_make
  - apr_bucket_immortal_make
  - apr_bucket_mmap_make
  - apr_bucket_pipe_make
  - apr_bucket_pool_make
  - apr_bucket_shared_make
  - apr_bucket_socket_make
  - apr_bucket_transient_make
  - apr_bucket_setaside_notimpl
  - apr_bucket_split_notimpl
  - apr_bucket_shared_split
  - apr_bucket_simple_split
  - apr_bucket_simple_copy
  +MODULE=APR::Bucket
  + mpxs_APR__Bucket_is_eos #APR_BUCKET_IS_EOS
  + mpxs_APR__Bucket_insert_after   #APR_BUCKET_INSERT_AFTER
  + mpxs_APR__Bucket_insert_before  #APR_BUCKET_INSERT_AFTER
  + mpxs_APR__Bucket_remove #APR_BUCKET_REMOVE
  + #apr_bucket_read
  + mpxs_APR__Bucket_read | | bucket, wanted=0
  + #modperl_bucket_sv_create
  + mpxs_APR__Bucket_new  | | classname, sv, offset=0, len=0
  + !apr_bucket_copy_notimpl
  + !apr_bucket_shared_copy
  + !apr_bucket_eos_create
  + !apr_bucket_file_create
  + !apr_bucket_flush_create
  + !apr_bucket_heap_create
  + !apr_bucket_immortal_create
  + !apr_bucket_mmap_create
  + !apr_bucket_pipe_create
  + !apr_bucket_pool_create
  + !apr_bucket_socket_create
  + !apr_bucket_transient_create
  + !apr_bucket_destroy_notimpl
  + !apr_bucket_shared_destroy
  + !apr_bucket_eos_make
  + !apr_bucket_file_make
  + !apr_bucket_flush_make
  + !apr_bucket_heap_make
  + !apr_bucket_immortal_make
  + !apr_bucket_mmap_make
  + !apr_bucket_pipe_make
  + !apr_bucket_pool_make
  + !apr_bucket_shared_make
  + !apr_bucket_socket_make
  + !apr_bucket_transient_make
  + !apr_bucket_setaside_notimpl
  + !apr_bucket_split_notimpl
  + !apr_bucket_shared_split
  + !apr_bucket_simple_split
  + !apr_bucket_simple_copy
   
   MODULE=APR::Pool
   apr_pool_free_blocks_num_bytes
  
  
  
  1.3   +2 -2  modperl-2.0/xs/maps/apr_structures.map
  
  Index: apr_structures.map
  ===
  RCS file: /home/cvs/modperl-2.0/xs/maps/apr_structures.map,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- apr_structures.map2001/03/16 00:01:37 1.2
  +++ apr_structures.map2001/04/18 05:10:43 1.3
  @@ -6,7 +6,7 @@
   
   #buckets
   
  -!apr_bucket_type_t
  +apr_bucket_type_t MODULE=APR::Bucket
  name
   -  num_func
   -  destroy
  @@ -16,7 +16,7 @@
   -  copy
   /apr_bucket_type_t
   
  -!apr_bucket
  +apr_bucket
 link
  type
  length
  
  
  
  1.3   +1 -1  modperl-2.0/xs/maps/apr_types.map
  
  Index: apr_types.map
  ===
  RCS file: /home/cvs/modperl-2.0/xs/maps/apr_types.map,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- apr_types.map 2001/03/16 00:01:37 1.2
  +++ apr_types.map 2001/04/18 05:10:43 1.3
  @@ -22,7 +22,7 @@
   struct apr_bucket   | APR::Bucket
   struct apr_bucket_brigade   | APR::Brigade
   apr_brigade_flush   | UNDEFINED
  -apr_bucket_type_t   | APR::BucketType
  +struct apr_bucket_type_t| APR::BucketType
   apr_read_type_e | UNDEFINED
   apr_bucket_file | UNDEFINED
   apr_bucket_pool | UNDEFINED
  
  
  



cvs commit: modperl-2.0/t/filter/TestFilter buckets.pm

2001-04-17 Thread dougm

dougm   01/04/17 22:11:14

  Added:   t/filter/TestFilter buckets.pm
  Log:
  add a test for the brigade/buckets api
  
  Revision  ChangesPath
  1.1  modperl-2.0/t/filter/TestFilter/buckets.pm
  
  Index: buckets.pm
  ===
  package TestFilter::buckets;
  
  use strict;
  use warnings FATAL = 'all';
  
  use Test;
  use Apache::Test ();
  use Apache::Filter ();
  use APR::Brigade ();
  use APR::Bucket ();
  
  sub handler {
  my($filter, $bb) = @_;
  
  Apache::TestToString-start;
  
  plan tests = 4;
  
  #should only have 1 bucket from the response() below
  for (my $bucket = $bb-first; $bucket; $bucket = $bb-next($bucket)) {
  ok $bucket-type-name;
  ok $bucket-length == 2;
  ok $bucket-read eq 'ok';
  }
  
  my $tests = Apache::TestToString-finish;
  
  my $brigade = APR::Brigade-new($filter-f-r-pool);
  my $bucket = APR::Bucket-new($tests);
  
  $brigade-insert_tail($bucket);
  
  my $ok = $brigade-first-type-name =~ /mod_perl/ ? 4 : 0;
  $brigade-insert_tail(APR::Bucket-new("ok $ok\n"));
  
  $filter-f-next-pass_brigade($brigade);
  
  Apache::OK;
  }
  
  sub response {
  my $r = shift;
  
  $r-content_type('text/plain');
  $r-puts("ok");
  
  0;
  }
  
  1;
  __DATA__
  SetHandler modperl
  PerlResponseHandler TestFilter::buckets::response
  
  
  



cvs commit: modperl-2.0/lib/ModPerl Code.pm

2001-04-17 Thread dougm

dougm   01/04/17 22:25:01

  Modified:lib/ModPerl Code.pm
  Log:
  strip APR_ and AP_ prefixes from constant names
  
  Revision  ChangesPath
  1.58  +3 -2  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.57
  retrieving revision 1.58
  diff -u -r1.57 -r1.58
  --- Code.pm   2001/04/18 04:40:00 1.57
  +++ Code.pm   2001/04/18 05:25:01 1.58
  @@ -680,7 +680,7 @@
   $file;
   }
   
  -my $constant_prefixes = join '|', qw{APR};
  +my $constant_prefixes = join '|', qw{APR?};
   
   sub generate_constants {
   my($self, $h_fh, $c_fh) = @_;
  @@ -789,7 +789,8 @@
push @tags, $group;
   my $name = join '_', 'MP_constants', $class, $group;
print $c_fh "\nstatic const char *$name [] = { \n",
  -  (map { s/^APR_//; qq(   "$_",\n) } @$constants), "   NULL,\n};\n";
  +  (map { s/^($constant_prefixes)_//o;
  + qq(   "$_",\n) } @$constants), "   NULL,\n};\n";
   }
   
   my %switch;
  
  
  



cvs commit: modperl-2.0/lib/Apache ParseSource.pm

2001-04-17 Thread dougm

dougm   01/04/17 22:27:39

  Modified:lib/Apache ParseSource.pm
  Log:
  pickup apache_filter and input_mode constants
  
  Revision  ChangesPath
  1.15  +3 -2  modperl-2.0/lib/Apache/ParseSource.pm
  
  Index: ParseSource.pm
  ===
  RCS file: /home/cvs/modperl-2.0/lib/Apache/ParseSource.pm,v
  retrieving revision 1.14
  retrieving revision 1.15
  diff -u -r1.14 -r1.15
  --- ParseSource.pm2001/04/12 00:48:02 1.14
  +++ ParseSource.pm2001/04/18 05:27:39 1.15
  @@ -164,7 +164,7 @@
   }
   
   my %enums_wanted = (
  -Apache = { map { $_, 1 } qw(cmd_how) },
  +Apache = { map { $_, 1 } qw(cmd_how input_mode filter_type) },
   APR = { map { $_, 1 } qw(apr_shutdown_how) },
   );
   
  @@ -225,7 +225,8 @@
   my($name, $e) = $self-parse_enum($fh);
   return unless $name;
   
  -$name =~ s/_e$//;
  +$name =~ s/^ap_//;
  +$name =~ s/_(e|t)$//;
   
   my $class;
   for (keys %enums_wanted) {
  
  
  



cvs commit: modperl-2.0/xs/tables/current/Apache ConstantsTable.pm

2001-04-17 Thread dougm

dougm   01/04/17 22:28:18

  Modified:xs/tables/current/Apache ConstantsTable.pm
  Log:
  sync
  
  Revision  ChangesPath
  1.5   +53 -41modperl-2.0/xs/tables/current/Apache/ConstantsTable.pm
  
  Index: ConstantsTable.pm
  ===
  RCS file: /home/cvs/modperl-2.0/xs/tables/current/Apache/ConstantsTable.pm,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- ConstantsTable.pm 2001/04/18 04:42:50 1.4
  +++ ConstantsTable.pm 2001/04/18 05:28:18 1.5
  @@ -2,12 +2,57 @@
   
   # !!
   # ! WARNING: generated by Apache::ParseSource/0.02
  -# !  Mon Apr 16 18:17:25 2001
  +# !  Tue Apr 17 22:15:55 2001
   # !  do NOT edit, any changes will be lost !
   # !!
   
   $Apache::ConstantsTable = {
 'Apache' = {
  +'options' = [
  +  'OPT_NONE',
  +  'OPT_INDEXES',
  +  'OPT_INCLUDES',
  +  'OPT_SYM_LINKS',
  +  'OPT_EXECCGI',
  +  'OPT_UNSET',
  +  'OPT_INCNOEXEC',
  +  'OPT_SYM_OWNER',
  +  'OPT_MULTI',
  +  'OPT_ALL'
  +],
  +'satisfy' = [
  +  'SATISFY_ALL',
  +  'SATISFY_ANY',
  +  'SATISFY_NOSPEC'
  +],
  +'common' = [
  +  'DECLINED',
  +  'DONE',
  +  'OK',
  +  'NOT_FOUND',
  +  'FORBIDDEN',
  +  'AUTH_REQUIRED',
  +  'SERVER_ERROR'
  +],
  +'cmd_how' = [
  +  'RAW_ARGS',
  +  'TAKE1',
  +  'TAKE2',
  +  'ITERATE',
  +  'ITERATE2',
  +  'FLAG',
  +  'NO_ARGS',
  +  'TAKE12',
  +  'TAKE3',
  +  'TAKE23',
  +  'TAKE123',
  +  'TAKE13'
  +],
  +'input_mode' = [
  +  'AP_MODE_BLOCKING',
  +  'AP_MODE_NONBLOCKING',
  +  'AP_MODE_PEEK'
  +],
   'http' = [
 'HTTP_CONTINUE',
 'HTTP_SWITCHING_PROTOCOLS',
  @@ -57,18 +102,6 @@
 'HTTP_INSUFFICIENT_STORAGE',
 'HTTP_NOT_EXTENDED'
   ],
  -'options' = [
  -  'OPT_NONE',
  -  'OPT_INDEXES',
  -  'OPT_INCLUDES',
  -  'OPT_SYM_LINKS',
  -  'OPT_EXECCGI',
  -  'OPT_UNSET',
  -  'OPT_INCNOEXEC',
  -  'OPT_SYM_OWNER',
  -  'OPT_MULTI',
  -  'OPT_ALL'
  -],
   'methods' = [
 'M_GET',
 'M_PUT',
  @@ -88,20 +121,6 @@
 'M_INVALID',
 'METHODS'
   ],
  -'satisfy' = [
  -  'SATISFY_ALL',
  -  'SATISFY_ANY',
  -  'SATISFY_NOSPEC'
  -],
  -'common' = [
  -  'DECLINED',
  -  'DONE',
  -  'OK',
  -  'NOT_FOUND',
  -  'FORBIDDEN',
  -  'AUTH_REQUIRED',
  -  'SERVER_ERROR'
  -],
   'override' = [
 'OR_NONE',
 'OR_LIMIT',
  @@ -114,25 +133,18 @@
 'RSRC_CONF',
 'OR_ALL'
   ],
  -'cmd_how' = [
  -  'RAW_ARGS',
  -  'TAKE1',
  -  'TAKE2',
  -  'ITERATE',
  -  'ITERATE2',
  -  'FLAG',
  -  'NO_ARGS',
  -  'TAKE12',
  -  'TAKE3',
  -  'TAKE23',
  -  'TAKE123',
  -  'TAKE13'
  -],
   'remotehost' = [
 'REMOTE_HOST',
 'REMOTE_NAME',
 'REMOTE_NOLOOKUP',
 'REMOTE_DOUBLE_REV'
  +],
  +'filter_type' = [
  +  'AP_FTYPE_CONTENT',
  +  'AP_FTYPE_HTTP_HEADER',
  +  'AP_FTYPE_TRANSCODE',
  +  'AP_FTYPE_CONNECTION',
  +  'AP_FTYPE_NETWORK'
   ]
 },
 'APR' = {