Author: timbo
Date: Wed Feb 22 17:29:47 2006
New Revision: 2565

Modified:
   dbi/trunk/Changes
   dbi/trunk/DBI.xs
Log:
Fixed for perl 5.9.x for non-threaded builds thanks to Nicholas Clark.
   Users of Perl >= 5.9.x will require DBI >= 1.51.


Modified: dbi/trunk/Changes
==============================================================================
--- dbi/trunk/Changes   (original)
+++ dbi/trunk/Changes   Wed Feb 22 17:29:47 2006
@@ -13,6 +13,8 @@ DBI::Changes - List of significant chang
   Fixed DBD::Proxy to not alter $@ in disconnect or AUTOLOADd methods.
   Fixed bind_columns() to use return set_err(...) instead of die()
     to report incorrect number of parameters, thanks to Ben Thul.
+  Fixed for perl 5.9.x for non-threaded builds thanks to Nicholas Clark.
+    Users of Perl >= 5.9.x will require DBI >= 1.51.
 
   Improved performance for thread-enabled perls thanks to Gisle Aas.
   Drivers can now use PERL_NO_GET_CONTEXT thanks to Gisle Aas.

Modified: dbi/trunk/DBI.xs
==============================================================================
--- dbi/trunk/DBI.xs    (original)
+++ dbi/trunk/DBI.xs    Wed Feb 22 17:29:47 2006
@@ -23,6 +23,9 @@ static int xsbypass = 0;      /* disable XSUB
 #else
 static int xsbypass = 1;       /* enable XSUB->XSUB shortcut           */
 #endif
+#ifndef CvISXSUB
+#define CvISXSUB(sv) CvXSUB(sv)
+#endif
 
 #define DBI_MAGIC '~'
 
@@ -2836,7 +2839,8 @@ XS(XS_DBI_dispatch)         /* prototype
         */
 
        /* SHORT-CUT ALERT! */
-       if (xsbypass && isGV(imp_msv) && CvXSUB(GvCV(imp_msv))) {
+       if (xsbypass && isGV(imp_msv) && CvISXSUB(GvCV(imp_msv))
+           && CvXSUB(GvCV(imp_msv))) {
 
            /* If we are calling an XSUB we jump directly to its C code and
             * bypass perl_call_sv(), pp_entersub() etc. This is fast.

Reply via email to