Skip Menu |

This queue is for tickets about the MIME-Explode CPAN distribution.

Report information
The Basics
Id: 66966
Status: open
Priority: 0/
Queue: MIME-Explode

People
Owner: Nobody in particular
Requestors: SREZIC [...] cpan.org
Cc: jquelin [...] cpan.org
AdminCc:

Bug Information
Severity: (no value)
Broken in: 0.38
Fixed in: (no value)



Subject: Does not build anymore with perl 5.13.4 and later (na, sv_undef)
See http://matrix.cpantesters.org/?dist=MIME-Explode&maxver= for an overview of reports. A sample fail report: http://www.cpantesters.org/cpan/report/40f52600-5611-11e0-b9e4-f3c6584a6581 It seems that you have to write now PL_na and PL_sv_undef instead of na an sv_undef. Regards, Slaven
From: pterjan [...] gmail.com
Here is a patch
Subject: MIME-Explode-0.38-perl-5.14.patch
--- MIME-Explode-0.38/Explode.xs~ 2006-06-05 14:04:54.000000000 +0000 +++ MIME-Explode-0.38/Explode.xs 2011-06-16 22:47:28.000000000 +0000 @@ -369,7 +369,7 @@ char *base = NULL; char *mt; PPCODE: - if(items == 2) base = SvPV(ST(1), na); + if(items == 2) base = SvPV(ST(1), PL_na); s = (unsigned char*)SvPV(source, srcl); mt = set_mime_type(s, (unsigned long)srcl, base); XPUSHs(sv_2mortal(newSVpv(mt, (STRLEN)strlen(mt)))); @@ -458,7 +458,7 @@ if(unlink(filename)) croak("Failed to delete file \"%s\"", filename); - av_push(av_ret, mimetype ? newSVpv(mimetype, 0) : newSVsv(&sv_undef)); + av_push(av_ret, mimetype ? newSVpv(mimetype, 0) : newSVsv(&PL_sv_undef)); av_push(av_ret, newSViv(exclude ? 1 : 0)); XPUSHs(sv_2mortal(newRV_noinc((SV*)av_ret))); SvREFCNT_dec(buff_sv); @@ -477,7 +477,7 @@ unsigned char *decoded = NULL; unsigned char *rest = NULL; SV *buff_sv = newSV(BUFFLEN); - SV *part = newSVsv(&sv_undef); + SV *part = newSVsv(&PL_sv_undef); char mt[BUFFLEN] = ""; bool exclude = FALSE; bool verify = TRUE; @@ -505,7 +505,7 @@ HV *hv = (HV*)SvRV(ST(4)); if(hv_exists(hv, "mimetype", 8)) { SV **value = hv_fetch(hv, "mimetype", 8, 0); - mimetype = SvPVx(*value, na); + mimetype = SvPVx(*value, PL_na); } if(hv_exists(hv, "checktype", 9)) { SV **value = hv_fetch(hv, "checktype", 9, 0); @@ -592,7 +592,7 @@ if(unlink(filename)) croak("Failed to delete file \"%s\"", filename); av_push(av_ret, part); - av_push(av_ret, mt ? newSVpv(mt, 0) : newSVsv(&sv_undef)); + av_push(av_ret, mt ? newSVpv(mt, 0) : newSVsv(&PL_sv_undef)); av_push(av_ret, newSViv(exclude ? 1 : 0)); XPUSHs(sv_2mortal(newRV_noinc((SV*)av_ret))); SvREFCNT_dec(buff_sv);