stas        2004/05/24 12:55:14

  Modified:    t/response/TestAPR finfo.pm
               xs/maps  apr_functions.map
  Added:       xs/APR/Finfo APR__Finfo.h
  Log:
  change stat() to return finfo
  
  Revision  Changes    Path
  1.4       +26 -0     modperl-2.0/xs/APR/Finfo/APR__Finfo.h
  
  
  
  
  1.11      +19 -22    modperl-2.0/t/response/TestAPR/finfo.pm
  
  Index: finfo.pm
  ===================================================================
  RCS file: /home/cvs/modperl-2.0/t/response/TestAPR/finfo.pm,v
  retrieving revision 1.10
  retrieving revision 1.11
  diff -u -u -r1.10 -r1.11
  --- finfo.pm  3 May 2004 12:54:08 -0000       1.10
  +++ finfo.pm  24 May 2004 19:55:14 -0000      1.11
  @@ -14,13 +14,13 @@
   
   use Apache::RequestRec ();
   use APR::Finfo ();
  -use APR::Const -compile => qw(SUCCESS FINFO_NORM REG
  -                              WREAD WWRITE WEXECUTE);
   
   use File::Spec::Functions qw(catfile);
   use Fcntl qw(:mode);
   
   use Apache::Const -compile => 'OK';
  +use APR::Const    -compile => qw(SUCCESS FINFO_NORM REG
  +                                 WREAD WWRITE WEXECUTE);
   
   sub handler {
       my $r = shift;
  @@ -44,16 +44,13 @@
       }
   
       my $file = $r->server_root_relative(catfile qw(htdocs index.html));
  +    # populate the finfo struct first
  +    my $finfo = APR::Finfo::stat($file, APR::FINFO_NORM, $r->pool);
   
  -    # stat tests
  -    {
  -        # populate the finfo struct first
  -        my $status = $r->finfo->stat($file, APR::FINFO_NORM, $r->pool);
  -
  -        ok t_cmp(APR::SUCCESS,
  -                 $status,
  -                 "stat $file");
  +    ok $finfo->isa('APR::Finfo');
   
  +    # stat tests (same as perl's stat)
  +    {
           # now, get information from perl's stat()
           our ($device, $inode, $protection, $nlink, $user, $group,
                undef, $size, $atime, $mtime, $ctime) = stat $file;
  @@ -81,8 +78,8 @@
                   }
                   else {
                       ok t_cmp(${$method},
  -                             $r->finfo->$method(),
  -                             "\$r->finfo->$method()");
  +                             $finfo->$method(),
  +                             "\$finfo->$method()");
                   }
               }
           }
  @@ -90,20 +87,20 @@
           # match world bits
   
           ok t_cmp($protection & S_IROTH,
  -                 $r->finfo->protection & APR::WREAD,
  -                 '$r->finfo->protection() & APR::WREAD');
  +                 $finfo->protection & APR::WREAD,
  +                 '$finfo->protection() & APR::WREAD');
   
           ok t_cmp($protection & S_IWOTH,
  -                 $r->finfo->protection & APR::WWRITE,
  -                 '$r->finfo->protection() & APR::WWRITE');
  +                 $finfo->protection & APR::WWRITE,
  +                 '$finfo->protection() & APR::WWRITE');
   
           if (WIN32) {
               skip "different file semantics", 0;
           }
           else {
               ok t_cmp($protection & S_IXOTH,
  -                     $r->finfo->protection & APR::WEXECUTE,
  -                     '$r->finfo->protection() & APR::WEXECUTE');
  +                     $finfo->protection & APR::WEXECUTE,
  +                     '$finfo->protection() & APR::WEXECUTE');
           }
       }
   
  @@ -115,13 +112,13 @@
           }
           else {
               ok t_cmp($file,
  -                     $r->finfo->fname,
  -                     '$r->finfo->fname()');
  +                     $finfo->fname,
  +                     '$finfo->fname()');
           }
   
           ok t_cmp(APR::REG,
  -                 $r->finfo->filetype,
  -                 '$r->finfo->filetype()');
  +                 $finfo->filetype,
  +                 '$finfo->filetype()');
       }
   
       Apache::OK;
  
  
  
  1.79      +2 -1      modperl-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.78
  retrieving revision 1.79
  diff -u -u -r1.78 -r1.79
  --- apr_functions.map 22 May 2004 21:47:32 -0000      1.78
  +++ apr_functions.map 24 May 2004 19:55:14 -0000      1.79
  @@ -309,7 +309,8 @@
   
   MODULE=APR::Finfo
   -apr_lstat
  - apr_stat
  +-apr_stat
  + mpxs_APR__Finfo_stat
   
   !MODULE=APR::String
    apr_collapse_spaces
  
  
  

Reply via email to