dougm       01/11/05 16:07:53

  Modified:    t/filter/TestFilter input_body.pm
  Log:
  change filter logic to what is currently considered the "right way"
  
  Revision  Changes    Path
  1.7       +18 -10    modperl-2.0/t/filter/TestFilter/input_body.pm
  
  Index: input_body.pm
  ===================================================================
  RCS file: /home/cvs/modperl-2.0/t/filter/TestFilter/input_body.pm,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- input_body.pm     2001/08/10 03:06:45     1.6
  +++ input_body.pm     2001/11/06 00:07:53     1.7
  @@ -15,28 +15,36 @@
   sub handler : FilterRequestHandler {
       my($filter, $bb, $mode, $readbytes) = @_;
   
  -    if ($bb->empty) {
  -        my $rv = $filter->next->get_brigade($bb, $mode, $readbytes);
  +    my $ctx_bb = APR::Brigade->new($filter->r->pool);
   
  -        if ($rv != APR::SUCCESS) {
  -            return $rv;
  -        }
  +    my $rv = $filter->next->get_brigade($ctx_bb, $mode, $readbytes);
  +
  +    if ($rv != APR::SUCCESS) {
  +        return $rv;
       }
   
  -    while (!$bb->empty) {
  -        my $bucket = $bb->first;
  +    while (!$ctx_bb->empty) {
           my $data;
  -        my $status = $bucket->read($data);
  +        my $bucket = $ctx_bb->first;
   
           $bucket->remove;
   
  +        if ($bucket->is_eos) {
  +            $bb->insert_tail($bucket);
  +            last;
  +        }
  +
  +        my $status = $bucket->read($data);
  +
  +        if ($status != APR::SUCCESS) {
  +            return $status;
  +        }
  +
           if ($data) {
               $bucket = APR::Bucket->new(scalar reverse $data);
           }
   
           $bb->insert_tail($bucket);
  -
  -        last if $bucket->is_eos;
       }
   
       Apache::OK;
  
  
  


Reply via email to