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;