dougm       00/04/04 21:55:55

  Modified:    .        Changes
               Apache   Apache.pm
               src/modules/perl Apache.xs
  Log:
  added Apache::OPEN method for 5.6.0+ tied filehandle support
  
  Revision  Changes    Path
  1.460     +2 -0      modperl/Changes
  
  Index: Changes
  ===================================================================
  RCS file: /home/cvs/modperl/Changes,v
  retrieving revision 1.459
  retrieving revision 1.460
  diff -u -r1.459 -r1.460
  --- Changes   2000/04/05 04:04:59     1.459
  +++ Changes   2000/04/05 04:55:54     1.460
  @@ -10,6 +10,8 @@
   
   =item 1.22_01-dev
   
  +added Apache::OPEN method for 5.6.0+ tied filehandle support
  +
   Apache::Table is now loaded by default (if enabled), rather than
   autoloading when first needed
   
  
  
  
  1.46      +0 -5      modperl/Apache/Apache.pm
  
  Index: Apache.pm
  ===================================================================
  RCS file: /home/cvs/modperl/Apache/Apache.pm,v
  retrieving revision 1.45
  retrieving revision 1.46
  diff -u -r1.45 -r1.46
  --- Apache.pm 2000/04/05 04:05:00     1.45
  +++ Apache.pm 2000/04/05 04:55:55     1.46
  @@ -189,11 +189,6 @@
       }
   }
   
  -sub TIEHANDLE {
  -    my($class, $r) = @_;
  -    $r ||= Apache->request;
  -}
  -
   1;
   
   __END__
  
  
  
  1.94      +39 -0     modperl/src/modules/perl/Apache.xs
  
  Index: Apache.xs
  ===================================================================
  RCS file: /home/cvs/modperl/src/modules/perl/Apache.xs,v
  retrieving revision 1.93
  retrieving revision 1.94
  diff -u -r1.93 -r1.94
  --- Apache.xs 2000/04/03 05:41:29     1.93
  +++ Apache.xs 2000/04/05 04:55:55     1.94
  @@ -561,6 +561,45 @@
       items = items;
       /*NOOP*/
   
  +Apache
  +TIEHANDLE(classname, r=NULL)
  +    SV *classname
  +    Apache r
  +
  +    CODE:
  +    RETVAL = r ? r : perl_request_rec(NULL);
  +
  +    OUTPUT:
  +    RETVAL
  +
  +int
  +OPEN(self, arg1, arg2=Nullsv)
  +    SV *self
  +    SV *arg1
  +    SV *arg2
  +
  +    PREINIT:
  +    char *name;
  +    STRLEN len;
  +    GV *gv = gv_fetchpv("STDOUT", TRUE, SVt_PVIO);
  +    SV *arg;
  +
  +    CODE:
  +    sv_unmagic((SV*)gv, 'q'); /* untie *STDOUT */
  +    if (arg2) {
  +        arg = newSVsv(arg1);
  +        sv_catsv(arg, arg2);
  +    }
  +    else {
  +        arg = arg1;
  +    }
  +
  +    name = SvPV(arg, len);
  +    RETVAL = do_open(gv, name, len, FALSE, O_RDONLY, 0, Nullfp);
  +
  +    OUTPUT:
  +    RETVAL
  +
   SV *
   as_string(r)
       Apache r
  
  
  

Reply via email to