Geoffrey Young wrote:
>>>>-    if (!SvTRUE(RETVAL)) {
>>>>+    if (!SvOK(RETVAL)) {

ok, the attached patch fixes the problem.  it turns out that XS as simple as
this

    RETVAL = Nullsv;

    if (!SvOK(RETVAL)) {
      XSRETURN_UNDEF;
    }

dumps core all on its own (without mod_perl's help :)

will be fixed in the next release (whenever that is)

--Geoff
Index: src/modules/perl/Apache.xs
===================================================================
RCS file: /home/cvs/modperl/src/modules/perl/Apache.xs,v
retrieving revision 1.130
diff -u -r1.130 Apache.xs
--- src/modules/perl/Apache.xs  1 Dec 2003 17:30:19 -0000       1.130
+++ src/modules/perl/Apache.xs  9 Mar 2004 18:41:50 -0000
@@ -2084,7 +2084,7 @@
                                                 &perl_module);
        TABLE_GET_SET(c->vars, FALSE);
     }
-    if (!SvOK(RETVAL)) {
+    if (!(RETVAL && SvOK(RETVAL))) {
        s = r && r->server ? r->server : perl_get_startup_server();
        if (s && s->module_config) {
            SvREFCNT_dec(RETVAL); /* in case above did newSV(0) */

-- 
Report problems: http://perl.apache.org/bugs/
Mail list info: http://perl.apache.org/maillist/modperl.html
List etiquette: http://perl.apache.org/maillist/email-etiquette.html

Reply via email to