From: Perl 5 Porters Date: Mon, 1 Jan 1996 22:57:57 +0000 (+0000) Subject: Updated to match xsubpp-1.929. X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=720fb644424900350db135e470934a00919daa13;p=p5sagit%2Fp5-mst-13.2.git Updated to match xsubpp-1.929. --- diff --git a/XSUB.h b/XSUB.h index 78a922d..f8d3107 100644 --- a/XSUB.h +++ b/XSUB.h @@ -35,3 +35,22 @@ #define XSRETURN_EMPTY do { XSRETURN(0); } while (0) #define newXSproto(a,b,c,d) sv_setpv((SV*)newXS(a,b,c), d) + +#ifdef XS_VERSION +# define XS_VERSION_BOOTCHECK \ + do { \ + char vn[255], *module = SvPV(ST(0),na); \ + if (items >= 2) /* version supplied as bootstrap arg */ \ + Sv=ST(1); \ + else { /* read version from module::VERSION */ \ + sprintf(vn,"%s::VERSION", module); \ + Sv = perl_get_sv(vn, FALSE); /* XXX GV_ADDWARN */ \ + } \ + if (Sv && (!SvOK(Sv) || strNE(XS_VERSION, SvPV(Sv,na))) ) \ + croak("%s object version %s does not match %s.pm $VERSION %s", \ + module,XS_VERSION, module,(Sv && SvOK(Sv))?SvPV(Sv,na):"(undef)");\ + } while (0) +#else +# define XS_VERSION_BOOTCHECK +#endif +