You are viewing a plain text version of this content. The canonical link for it is here.
Posted to modperl-cvs@perl.apache.org by do...@hyperreal.org on 1998/07/08 20:05:40 UTC

cvs commit: modperl/src/modules/perl Apache.xs

dougm       98/07/08 11:05:40

  Modified:    .        Changes
               src/modules/perl Apache.xs
  Log:
  $r->print/print will dereference \$scalar refs to strings so scripts
  can avoid string copies when sending data to the client,
  e.g. print \$large_string
  
  Revision  Changes    Path
  1.63      +4 -0      modperl/Changes
  
  Index: Changes
  ===================================================================
  RCS file: /export/home/cvs/modperl/Changes,v
  retrieving revision 1.62
  retrieving revision 1.63
  diff -u -r1.62 -r1.63
  --- Changes	1998/07/02 14:53:51	1.62
  +++ Changes	1998/07/08 18:05:37	1.63
  @@ -8,6 +8,10 @@
   
   =item 1.12_01-dev
   
  +$r->print/print will dereference \$scalar refs to strings so scripts
  +can avoid string copies when sending data to the client, 
  +e.g. print \$large_string 
  +
   set $0 to .conf file name when inside <Perl> sections
   
   fixed $r->subprocess_env bug introduced in 1.12, spotted by Ken Williams
  
  
  
  1.38      +3 -1      modperl/src/modules/perl/Apache.xs
  
  Index: Apache.xs
  ===================================================================
  RCS file: /export/home/cvs/modperl/src/modules/perl/Apache.xs,v
  retrieving revision 1.37
  retrieving revision 1.38
  diff -u -r1.37 -r1.38
  --- Apache.xs	1998/07/07 16:19:51	1.37
  +++ Apache.xs	1998/07/08 18:05:38	1.38
  @@ -1019,7 +1019,9 @@
   
       for(i = 1; i <= items - 1; i++) {
   	int sent = 0;
  -	buffer = SvPV(ST(i), len);
  +        SV *sv = SvROK(ST(i)) && (SvTYPE(SvRV(ST(i))) == SVt_PV) ?
  +                 (SV*)SvRV(ST(i)) : ST(i);
  +	buffer = SvPV(sv, len);
   #ifdef APACHE_SSL
           while(len > 0) {
               sent = 0;