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)");