On Mon, Dec 06, 2004 at 10:30:03AM +0000, Tim Bunce wrote: > I've appended a provisional patch.
Here's one that works: @@ -2870,7 +2872,11 @@ sprintf(intro,"%s %s %s: ", HvNAME(DBIc_IMP_STASH(imp_xxh)), err_meth_name, SvTRUE(err_sv) ? "failed" : is_warning ? "warning" : "information"); msg = sv_2mortal(newSVpv(intro,0)); - sv_catsv(msg, DBIc_ERRSTR(imp_xxh)); + if (SvOK(DBIc_ERRSTR(imp_xxh))) + sv_catsv(msg, DBIc_ERRSTR(imp_xxh)); + else + sv_catpvf(msg, "(err=%s, errstr=undef, state=%s)", + neatsvpv(DBIc_ERR(imp_xxh),0), neatsvpv(DBIc_STATE(imp_xxh),0) ); if ( DBIc_has(imp_xxh, DBIcf_ShowErrorStatement) && (DBIc_TYPE(imp_xxh) == DBIt_ST || ima_flags & IMA_SHOW_ERR_STMT) Tim.