From: Brandon L Black Date: Mon, 16 Apr 2007 11:44:26 +0000 (+0000) Subject: 0.01_03 fixes X-Git-Tag: 0.02~10 X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?p=gitmo%2FClass-C3-XS.git;a=commitdiff_plain;h=b34605d048d08a93a7b93bc3428a1e2f00df5f9b 0.01_03 fixes --- diff --git a/Build.PL b/Build.PL index 66b9a1d..9f5c037 100644 --- a/Build.PL +++ b/Build.PL @@ -4,6 +4,7 @@ use strict; my $build = Module::Build->new( module_name => 'Class::C3::XS', + xs_files => { 'XS.xs' => 'lib/Class/C3/XS.xs' }, license => 'perl', optional => {}, requires => { @@ -17,6 +18,7 @@ my $build = Module::Build->new( recursive_test_files => 1, add_to_cleanup => [ 'META.yml', '*.bak', '*.gz', 'Makefile.PL', + 'XS.c', 'XS.o', 'XS.bs', ], ); diff --git a/ChangeLog b/ChangeLog index 5d83af9..042bc86 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,2 +1,11 @@ Revision history for Perl extension Class::C3::XS +0.01_03 Mon Apr 16, 2007 + Fix AvARRAY lvalue issue + +0.01_02 Mon Apr 16, 2007 + Fix MakeMaker compat, and source compat, maybe + not it will work for more people + +0.01_01 Sun Apr 15, 2007 + Initial Release diff --git a/MANIFEST.SKIP b/MANIFEST.SKIP index 6c94c33..f88f26f 100644 --- a/MANIFEST.SKIP +++ b/MANIFEST.SKIP @@ -17,5 +17,5 @@ cover_db ^#.*#$ ^\.# ^\.c$ -lib/Class/C3/XS.c -lib/Class/C3/XS.o +\.[co]$ +\.bs$ diff --git a/XS.xs b/XS.xs index 2b3f59d..7dd3695 100644 --- a/XS.xs +++ b/XS.xs @@ -119,14 +119,7 @@ __mro_linear_isa_c3(pTHX_ HV* stash, HV* cache, I32 level) av_push(retval, winner); } if(!sv_cmp(seqhead, winner)) { - - /* this is basically shift(@seq) in void context */ - SvREFCNT_dec(*AvARRAY(seq)); - *AvARRAY(seq) = &PL_sv_undef; - AvARRAY(seq) = AvARRAY(seq) + 1; - AvMAX(seq)--; - AvFILLp(seq)--; - + sv_2mortal(av_shift(seq)); if(AvFILLp(seq) < 0) continue; svp = av_fetch(seq, 0, 0); seqhead = *svp; diff --git a/lib/Class/C3/XS.pm b/lib/Class/C3/XS.pm index 80260a8..923762b 100644 --- a/lib/Class/C3/XS.pm +++ b/lib/Class/C3/XS.pm @@ -1,6 +1,6 @@ package Class::C3::XS; -our $VERSION = '0.01_02'; +our $VERSION = '0.01_03'; =pod