Author: timbo
Date: Thu Feb 19 09:23:53 2004
New Revision: 91

Modified:
   dbi/trunk/DBI.pm
   dbi/trunk/DBI.xs
   dbi/trunk/t/08keeperr.t
Log:
Fix set_err(0,...) thanks to Steffen Goeldner


Modified: dbi/trunk/DBI.pm
==============================================================================
--- dbi/trunk/DBI.pm    (original)
+++ dbi/trunk/DBI.pm    Thu Feb 19 09:23:53 2004
@@ -316,6 +316,7 @@
   ix_      => { class => 'DBD::Informix',      },
   msql_    => { class => 'DBD::mSQL',          },
   mysql_   => { class => 'DBD::mysql',         },
+  nullp_   => { class => 'DBD::NullP',         },
   odbc_    => { class => 'DBD::ODBC',          },
   ora_     => { class => 'DBD::Oracle',                },
   pg_      => { class => 'DBD::Pg',            },

Modified: dbi/trunk/DBI.xs
==============================================================================
--- dbi/trunk/DBI.xs    (original)
+++ dbi/trunk/DBI.xs    Thu Feb 19 09:23:53 2004
@@ -488,7 +488,8 @@
     if (SvTRUE(err)            /* new error: so assign                 */
        || !SvOK(h_err) /* no existing warn/info: so assign     */
           /* new warn ("0" len 1) > info ("" len 0): so assign         */
-       || (SvOK(err) && SvCUR(err) > SvCUR(h_err)) ) {
+       || (SvOK(err) && strlen(SvPV_nolen(err)) > strlen(SvPV_nolen(h_err)))
+    ) {
        sv_setsv(h_err, err);
        err_changed = 1;
     }

Modified: dbi/trunk/t/08keeperr.t
==============================================================================
--- dbi/trunk/t/08keeperr.t     (original)
+++ dbi/trunk/t/08keeperr.t     Thu Feb 19 09:23:53 2004
@@ -88,7 +88,7 @@
 is($warn, 0);
 is("@handlewarn", "1 0 0");
 
-$dbh->set_err("0", "(got warn)", "AA001");
+$dbh->set_err(0, "(got warn)", "AA001");
 ok(defined $DBI::err);
 is($DBI::err, "0");
 is($DBI::errstr, "(got info)\n(got warn)");

Reply via email to