stas 2003/02/19 21:21:56
Modified: src/modules/perl Apache.xs
. Changes
Log:
can't let the default typemap rule to convert sv into char* in
unescape_url, since it doesn't handle correctly undefs (returns an
unallocated "" string, which then causes a segfault in
ap_unescape_url. use SvPV_force, instead, which does the right
thing.
Revision Changes Path
1.126 +5 -2 modperl/src/modules/perl/Apache.xs
Index: Apache.xs
===================================================================
RCS file: /home/cvs/modperl/src/modules/perl/Apache.xs,v
retrieving revision 1.125
retrieving revision 1.126
diff -u -r1.125 -r1.126
--- Apache.xs 6 Jul 2001 20:33:35 -0000 1.125
+++ Apache.xs 20 Feb 2003 05:21:55 -0000 1.126
@@ -655,8 +655,11 @@
Apache r
char *
-unescape_url(string)
-char *string
+unescape_url(sv)
+SV *sv
+
+ INIT:
+ char *string = SvPV_force(sv, PL_na);
CODE:
unescape_url(string);
1.662 +6 -0 modperl/Changes
Index: Changes
===================================================================
RCS file: /home/cvs/modperl/Changes,v
retrieving revision 1.661
retrieving revision 1.662
diff -u -r1.661 -r1.662
--- Changes 19 Feb 2003 02:38:21 -0000 1.661
+++ Changes 20 Feb 2003 05:21:55 -0000 1.662
@@ -10,6 +10,12 @@
=item 1.27_01-dev
+can't let the default typemap rule to convert sv into char* in
+unescape_url, since it doesn't handle correctly undefs (returns an
+unallocated "" string, which then causes a segfault in
+ap_unescape_url. use SvPV_force, instead, which does the right
+thing. [Stas Bekman]
+
Make sure to start perl, if it's not running, before processing Perl*
directives, with threaded perl and PERL_STACKED_HANDLERS=0 [Stas
Bekman]