.gear-rules | 2 + .../c17c12adae3db566d21e6cca278708543335ac71 | 13 +++++ .gear-tags/list | 1 + FastCalc.xs | 2 +- lib/Math/BigInt/FastCalc.pm | 8 +-- perl-Math-BigInt-FastCalc.spec | 53 ++++++++++++++++++++ 6 files changed, 73 insertions(+), 6 deletions(-) diff --git a/.gear-rules b/.gear-rules new file mode 100644 index 0000000..c931b50 --- /dev/null +++ b/.gear-rules @@ -0,0 +1,2 @@ +tar: @version@:. name=Math-BigInt-FastCalc-@version@ +diff: @version@:. . name=perl-Math-BigInt-FastCalc-@version@-@release@.patch diff --git a/.gear-tags/c17c12adae3db566d21e6cca278708543335ac71 b/.gear-tags/c17c12adae3db566d21e6cca278708543335ac71 new file mode 100644 index 0000000..ec1f30b --- /dev/null +++ b/.gear-tags/c17c12adae3db566d21e6cca278708543335ac71 @@ -0,0 +1,13 @@ +object 21ce2ad7a4b3d6a64bbded06e366d8ac803134cd +type commit +tag 0.15 +tagger Alexey Tourbin 1187083263 +0400 + +0.15 +-----BEGIN PGP SIGNATURE----- +Version: GnuPG v1.4.7 (GNU/Linux) + +iD8DBQBGwXP/fBKgtDjnu0YRAorCAJ42LW4FJSYY52GzgPdly2nm6Phe8QCfRuZC +AIy0GEYRNDNYCWrx50+ZGHY= +=wDVz +-----END PGP SIGNATURE----- diff --git a/.gear-tags/list b/.gear-tags/list new file mode 100644 index 0000000..4cb7dff --- /dev/null +++ b/.gear-tags/list @@ -0,0 +1 @@ +c17c12adae3db566d21e6cca278708543335ac71 0.15 diff --git a/FastCalc.xs b/FastCalc.xs index e1e4259..8aa4194 100644 --- a/FastCalc.xs +++ b/FastCalc.xs @@ -59,7 +59,7 @@ _new(class, x) /* create the array */ RETVAL = newAV(); sv_2mortal((SV*)RETVAL); - if (SvIOK(x) && SvIV(x) < XS_BASE) + if (SvUOK(x) && SvUV(x) < XS_BASE) { /* shortcut for integer arguments */ av_push (RETVAL, newSVuv( SvUV(x) )); diff --git a/lib/Math/BigInt/FastCalc.pm b/lib/Math/BigInt/FastCalc.pm index fb1a51f..d1d907a 100644 --- a/lib/Math/BigInt/FastCalc.pm +++ b/lib/Math/BigInt/FastCalc.pm @@ -4,16 +4,14 @@ use 5.006002; use strict; # use warnings; # dont use warnings for older Perls -use DynaLoader; use Math::BigInt::Calc; -use vars qw/@ISA $VERSION $BASE $BASE_LEN/; - -@ISA = qw(DynaLoader); +use vars qw/$VERSION $BASE $BASE_LEN/; $VERSION = '0.15'; -bootstrap Math::BigInt::FastCalc $VERSION; +require XSLoader; +XSLoader::load(__PACKAGE__, $VERSION); ############################################################################## # global constants, flags and accessory diff --git a/perl-Math-BigInt-FastCalc.spec b/perl-Math-BigInt-FastCalc.spec new file mode 100644 index 0000000..dc5f0fe --- /dev/null +++ b/perl-Math-BigInt-FastCalc.spec @@ -0,0 +1,53 @@ +%define dist Math-BigInt-FastCalc +Name: perl-%dist +Version: 0.15 +Release: alt2 + +Summary: XS implementation of arbitrary size integer math +License: GPL or Artistic +Group: Development/Perl + +URL: %CPAN %dist +Source: %dist-%version.tar +Patch: %name-%version-%release.patch + +Conflicts: perl-Math-BigInt <= 1.79 + +# Automatically added by buildreq on Wed Nov 14 2007 +BuildRequires: perl-Math-BigInt perl-Module-Install perl-Test-Pod + +%description +This is a replacement library for Math::BigInt::Calc that reimplements +some of the Calc functions in XS. + +%prep +%setup -q -n %dist-%version +%patch -p1 + +%build +%perl_vendor_build + +%install +%perl_vendor_install + +%files +%doc CHANGES CREDITS README +%perl_vendor_archlib/Math +%perl_vendor_autolib/Math + +%changelog +* Wed Nov 14 2007 Alexey Tourbin 0.15-alt2 +- fixed integer overflow in FastCalc.xs:_new() "shortcut for + integer argument" check (rt.cpan.org #29720) + +* Tue Aug 14 2007 Alexey Tourbin 0.15-alt1 +- 0.14 -> 0.15 + +* Fri Jun 08 2007 Alexey Tourbin 0.14-alt1 +- 0.13 -> 0.14 + +* Tue Apr 10 2007 Alexey Tourbin 0.13-alt1 +- 0.12 -> 0.13 + +* Wed Mar 28 2007 Alexey Tourbin 0.12-alt1 +- initial revision (detached from perl-Math-BigInt)