dougm       01/03/15 16:26:31

  Modified:    lib/ModPerl TypeMap.pm
  Log:
  more better guessing
  
  Revision  Changes    Path
  1.5       +11 -2     modperl-2.0/lib/ModPerl/TypeMap.pm
  
  Index: TypeMap.pm
  ===================================================================
  RCS file: /home/cvs/modperl-2.0/lib/ModPerl/TypeMap.pm,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- TypeMap.pm        2001/03/15 23:59:46     1.4
  +++ TypeMap.pm        2001/03/16 00:26:29     1.5
  @@ -214,7 +214,10 @@
           $mf->{$_} = $map->{$_};
       }
   
  -    $mf->{class}  = $map->{class}  || $self->first_class($mf);
  +    unless ($mf->{class}) {
  +        $mf->{class} = $map->{class} || $self->first_class($mf);
  +        #print "GUESS class=$mf->{class} for $mf->{name}\n";
  +    }
   
       $mf->{prefix} ||= ModPerl::FunctionMap::guess_prefix($mf);
   
  @@ -263,8 +266,14 @@
   sub first_class {
       my($self, $func) = @_;
   
  +    return $func->{return_type} if $func->{return_type} =~ /::/;
  +
       for my $e (@{ $func->{args} }) {
  -        return $e->{type} if $e->{type} =~ /::/;
  +        next unless $e->{type} =~ /::/;
  +        #there are alot of util functions that take an APR::Pool
  +        #that do not belong in the APR::Pool class
  +        next if $e->{type} eq 'APR::Pool' and $func->{name} !~ /^apr_pool/;
  +        return $e->{type};
       }
   
       return $func->{name} =~ /^apr_/ ? 'APR' : 'Apache';
  
  
  

Reply via email to