Great. Thanks Philip. Send me your auth.perl.org username and I'll give you write access so you can check it in yourself. Welcome!
Tim. On Fri, Nov 10, 2006 at 01:12:20AM -0800, Philip M. Gollucci wrote: > This fixes _all_ the warnings in bleed and bleed ithread on > freebsd-6.1-release and sunos solaris 10g > > All tests still pass except the originally failing zvpp_05thrclone.t in > bleed-ithread. > > [Also note, that Freebsd 6.1-release _does_ bass 05thrclone.t w/ithreads > 10,000/10,000 times.] > > > -- > ------------------------------------------------------------------------ > Philip M. Gollucci ([EMAIL PROTECTED]) 323.219.4708 > Consultant / http://p6m7g8.net/Resume/resume.shtml > Senior Software Engineer - TicketMaster - http://ticketmaster.com > 1024D/A79997FA F357 0FDD 2301 6296 690F 6A47 D55A 7172 A799 97F > > I never had a dream come true > 'Til the day that I found you. > Even though I pretend that I've moved on > You'll always be my baby. > I never found the words to say > You're the one I think about each day > And I know no matter where life takes me to > A part of me will always be... > A part of me will always be with you. > bleed - solaris sun0s 10 > Perl.xsi: In function `XS_DBD__Perl__db_disconnect': > Perl.xsi:289: warning: int format, I32 arg (arg 2) > Perl.xsi:289: warning: int format, I32 arg (arg 3) > Perl.xsi: In function `XS_DBD__Perl__db_DESTROY': > Perl.xsi:339: warning: int format, I32 arg (arg 2) > Perl.xsi:339: warning: int format, I32 arg (arg 3) > Perl.xsi:367: warning: int format, I32 arg (arg 2) > Perl.xsi:367: warning: int format, I32 arg (arg 3) > Perl.xsi: In function `XS_DBD__Perl__st_finish': > Perl.xsi:656: warning: int format, I32 arg (arg 2) > Perl.xsi:656: warning: int format, I32 arg (arg 3) > Perl.xsi: In function `XS_DBD__Perl__st_DESTROY': > Perl.xsi:732: warning: int format, I32 arg (arg 2) > Perl.xsi:732: warning: int format, I32 arg (arg 3) > Perl.xsi:746: warning: int format, I32 arg (arg 2) > Perl.xsi:746: warning: int format, I32 arg (arg 3) > > DBI.xs: In function `neatsvpv': > DBI.xs:351: warning: return discards qualifiers from pointer target type > DBI.xs: In function `dbi_hash': > DBI.xs:592: warning: int format, long int arg (arg 2) > DBI.xs: In function `dbih_clearcom': > DBI.xs:1268: warning: unsigned int format, pointer arg (arg 2) > DBI.xs:1268: warning: int format, different type arg (arg 3) > DBI.xs:1275: warning: unsigned int format, pointer arg (arg 2) > DBI.xs:1281: warning: unsigned int format, pointer arg (arg 2) > DBI.xs:1287: warning: unsigned int format, pointer arg (arg 2) > DBI.xs: In function `dbih_set_attr_k': > DBI.xs:1503: warning: int format, I32 arg (arg 2) > DBI.xs:1503: warning: int format, I32 arg (arg 3) > DBI.xs:1510: warning: int format, I32 arg (arg 2) > DBI.xs:1510: warning: int format, I32 arg (arg 3) > DBI.xs: In function `XS_DBI_dispatch': > DBI.xs:2706: warning: int format, I32 arg (arg 3) > DBI.xs:2848: warning: int format, I32 arg (arg 2) > DBI.xs:2848: warning: int format, I32 arg (arg 3) > DBI.xs: In function `XS_DBI__install_method': > DBI.xs:3873: warning: unsigned int format, U32 arg (arg 3) > DBI.xs:3874: warning: int format, different type arg (arg 3) > DBI.xs:3875: warning: int format, different type arg (arg 3) > DBI.xs: In function `XS_DBD_____db_take_imp_data': > DBI.xs:4190: warning: int format, I32 arg (arg 2) > DBI.xs:4190: warning: int format, I32 arg (arg 3) > DBI.xs: In function `XS_DBD_____st__set_fbav': > DBI.xs:4234: warning: int format, long int arg (arg 3) > DBI.xs: In function `XS_DBD_____st_fetch': > DBI.xs:4391: warning: int format, long int arg (arg 3) > DBI.xs: In function `XS_DBD_____st_finish': > DBI.xs:4415: warning: int format, I32 arg (arg 2) > DBI.xs:4415: warning: int format, I32 arg (arg 3) > > bleed-ithread solaris sunos 10 (additional) > DBI.xs:4415: warning: int format, I32 arg (arg 2) > DBI.xs:4415: warning: int format, I32 arg (arg 3) > > > bleed freebsd 6.1-release > DBI.xs: In function 'neatsvpv': > DBI.xs:351: warning: return discards qualifiers from pointer target type > DBI.xs: In function 'dbih_clearcom': > DBI.xs:1268: warning: format '%x' expects type 'unsigned int', but argument 2 > has type 'struct HV *' > DBI.xs:1268: warning: format '%d' expects type 'int', but argument 3 has type > 'IV' > DBI.xs:1275: warning: format '%x' expects type 'unsigned int', but argument 2 > has type 'struct HV *' > DBI.xs:1281: warning: format '%x' expects type 'unsigned int', but argument 2 > has type 'struct HV *' > DBI.xs:1287: warning: format '%x' expects type 'unsigned int', but argument 2 > has type 'struct HV *' > DBI.xs: In function 'XS_DBI__install_method': > DBI.xs:3873: warning: format '%04x' expects type 'unsigned int', but argument > 3 has type 'U32' > DBI.xs:3874: warning: format '%d' expects type 'int', but argument 3 has type > 'IV' > DBI.xs:3875: warning: format '%d' expects type 'int', but argument 3 has type > 'IV' > > bleed-ithread freebsd-6.1-release > Index: DBI.xs > =================================================================== > --- DBI.xs (revision 8040) > +++ DBI.xs (working copy) > @@ -322,9 +322,9 @@ > SV *infosv = Nullsv; > char *v, *quote; > > - /* We take care not to alter the supplied sv in any way at all. */ > - /* (but if it is SvGMAGICAL we have to call mg_get and that can */ > - /* have side effects, especially as it may e called twice overall.) */ > + /* We take care not to alter the supplied sv in any way at all. */ > + /* (but if it is SvGMAGICAL we have to call mg_get and that can */ > + /* have side effects, especially as it may be called twice overall.) */ > > if (!sv) > return "Null!"; /* should never happen */ > @@ -348,7 +348,7 @@ > > if (!SvOK(sv)) { > if (SvTYPE(sv) >= SVt_PVAV) > - return sv_reftype(sv,0); /* raw AV/HV etc, not via a ref */ > + return (char *)sv_reftype(sv,0); /* raw AV/HV etc, not via a ref > */ > if (!infosv) > return "undef"; > sv_insert(infosv, 0,0, "undef",5); > @@ -589,7 +589,7 @@ > } > return hash; > } > - croak("DBI::hash(%d): invalid type", type); > + croak("DBI::hash(%ld): invalid type", type); > return 0; /* NOT REACHED */ > } > > @@ -1265,26 +1265,26 @@ > imp_dbh_t *imp_dbh = (imp_dbh_t*)imp_xxh; /* works for DRH also */ > if (DBIc_CACHED_KIDS(imp_dbh)) { > warn("DBI handle 0x%x cleared whilst still holding %d cached > kids", > - DBIc_MY_H(imp_xxh), HvKEYS(DBIc_CACHED_KIDS(imp_dbh)) ); > + (unsigned)DBIc_MY_H(imp_xxh), > (int)HvKEYS(DBIc_CACHED_KIDS(imp_dbh)) ); > SvREFCNT_dec(DBIc_CACHED_KIDS(imp_dbh)); /* may recurse */ > DBIc_CACHED_KIDS(imp_dbh) = Nullhv; > } > } > > if (DBIc_ACTIVE(imp_xxh)) { /* bad news */ > - warn("DBI handle 0x%x cleared whilst still active", > DBIc_MY_H(imp_xxh)); > + warn("DBI handle 0x%x cleared whilst still active", > (unsigned)DBIc_MY_H(imp_xxh)); > dump = TRUE; > } > > /* check that the implementor has done its own housekeeping */ > if (DBIc_IMPSET(imp_xxh)) { > - warn("DBI handle 0x%x has uncleared implementors data", > DBIc_MY_H(imp_xxh)); > + warn("DBI handle 0x%x has uncleared implementors data", > (unsigned)DBIc_MY_H(imp_xxh)); > dump = TRUE; > } > > if (DBIc_KIDS(imp_xxh)) { > warn("DBI handle 0x%x has %d uncleared child handles", > - DBIc_MY_H(imp_xxh), (int)DBIc_KIDS(imp_xxh)); > + (unsigned)DBIc_MY_H(imp_xxh), (int)DBIc_KIDS(imp_xxh)); > dump = TRUE; > } > } > @@ -2703,7 +2703,7 @@ > DEFSV = sv_2mortal(newSVpv(meth_name,0)); > count = call_sv(code, G_ARRAY); > if (count != 0) > - die("Callback for %s returned %d values but must not return any > (temporary restriction in current version)", meth_name, count); > + die("Callback for %s returned %d values but must not return any > (temporary restriction in current version)", meth_name, (int)count); > SPAGAIN; > FREETMPS; > LEAVE; > @@ -2728,7 +2728,7 @@ > XSRETURN(0); /* don't DESTROY handle, if it is not our's !*/ > } > croak("%s %s failed: handle %d is owned by thread %x not current thread > %x (%s)", > - HvNAME(DBIc_IMP_STASH(imp_xxh)), meth_name, DBIc_TYPE(imp_xxh), > h_perl, my_perl, > + HvNAME(DBIc_IMP_STASH(imp_xxh)), meth_name, DBIc_TYPE(imp_xxh), > (unsigned)h_perl, (unsigned)my_perl, > "handles can't be shared between threads and your driver may need a > CLONE method added"); > } > } > @@ -3870,9 +3870,9 @@ > DBD_ATTRIB_GET_IV(attribs, "H",1, svp, ima->hidearg); > > if (trace_msg) { > - if (ima->flags) sv_catpvf(trace_msg, ", flags 0x%04x", > ima->flags); > - if (ima->trace_level) sv_catpvf(trace_msg, ", T %d", > ima->trace_level); > - if (ima->hidearg) sv_catpvf(trace_msg, ", H %d", ima->hidearg); > + if (ima->flags) sv_catpvf(trace_msg, ", flags 0x%04x", > (unsigned)ima->flags); > + if (ima->trace_level) sv_catpvf(trace_msg, ", T %d", > (unsigned)ima->trace_level); > + if (ima->hidearg) sv_catpvf(trace_msg, ", H %d", > (unsigned)ima->hidearg); > } > if ( (svp=DBD_ATTRIB_GET_SVP(attribs, "U",1)) != NULL) { > STRLEN lna; > @@ -4231,7 +4231,7 @@ > src_av = (AV*)SvRV(src_rv); > if (AvFILL(src_av)+1 != num_fields) > croak("_set_fbav(%s): array has %d elements, the statement handle > expects %d", > - neatsvpv(src_rv,0), AvFILL(src_av)+1, num_fields); > + neatsvpv(src_rv,0), (int)AvFILL(src_av)+1, num_fields); > for(i=0; i < num_fields; ++i) { /* copy over the row */ > /* If we're given the values, then taint them if required */ > if (DBIc_is(imp_sth, DBIcf_TaintOut)) > @@ -4388,7 +4388,7 @@ > AV *av = dbih_get_fbav(imp_sth); > if (num_fields != AvFILL(av)+1) > croak("fetchrow returned %d fields, expected %d", > - num_fields, AvFILL(av)+1); > + num_fields, (int)AvFILL(av)+1); > SPAGAIN; > while(--num_fields >= 0) > sv_setsv(AvARRAY(av)[num_fields], POPs); > Index: DBIXS.h > =================================================================== > --- DBIXS.h (revision 8040) > +++ DBIXS.h (working copy) > @@ -299,7 +299,7 @@ > imp_xxh_t *ph_com = DBIc_PARENT_COM(imp); \ > if (!DBIc_ACTIVE(imp) && ph_com && !dirty \ > && ++DBIc_ACTIVE_KIDS(ph_com) > DBIc_KIDS(ph_com)) \ > - croak("panic: DBI active kids (%d) > kids (%d)", \ > + croak("panic: DBI active kids (%ld) > kids (%ld)", \ > DBIc_ACTIVE_KIDS(ph_com), DBIc_KIDS(ph_com)); \ > DBIc_FLAGS(imp) |= DBIcf_ACTIVE; \ > } while(0) > @@ -309,7 +309,7 @@ > if (DBIc_ACTIVE(imp) && ph_com && !dirty \ > && (--DBIc_ACTIVE_KIDS(ph_com) > DBIc_KIDS(ph_com) \ > || DBIc_ACTIVE_KIDS(ph_com) < 0) ) \ > - croak("panic: DBI active kids (%d) < 0 or > kids (%d)", \ > + croak("panic: DBI active kids (%ld) < 0 or > kids (%ld)", \ > DBIc_ACTIVE_KIDS(ph_com), DBIc_KIDS(ph_com)); \ > DBIc_FLAGS(imp) &= ~DBIcf_ACTIVE; \ > } while(0)