Fix compilation under 5.20 (untested). #2109
This commit is contained in:
parent
adf3d615bd
commit
67bf99633e
5 changed files with 18 additions and 11 deletions
|
@ -30,7 +30,7 @@ my $build = Module::Build::WithXSpp->new(
|
|||
build_requires => {qw(
|
||||
ExtUtils::ParseXS 3.18
|
||||
ExtUtils::Typemap 1.00
|
||||
ExtUtils::Typemaps::Default 1.03
|
||||
ExtUtils::Typemaps::Default 1.05
|
||||
ExtUtils::XSpp 0.17
|
||||
Module::Build 0.3601
|
||||
Test::More 0
|
||||
|
|
|
@ -542,7 +542,7 @@ polynode_children_2_perl(const ClipperLib::PolyNode& node)
|
|||
{
|
||||
AV* av = newAV();
|
||||
const unsigned int len = node.ChildCount();
|
||||
av_extend(av, len-1);
|
||||
if (len > 0) av_extend(av, len-1);
|
||||
for (int i = 0; i < len; ++i) {
|
||||
av_store(av, i, polynode2perl(*node.Childs[i]));
|
||||
}
|
||||
|
|
|
@ -139,7 +139,7 @@ SV*
|
|||
MultiPoint::to_AV() {
|
||||
const unsigned int num_points = this->points.size();
|
||||
AV* av = newAV();
|
||||
av_extend(av, num_points-1);
|
||||
if (num_points > 0) av_extend(av, num_points-1);
|
||||
for (unsigned int i = 0; i < num_points; i++) {
|
||||
av_store(av, i, perl_to_SV_ref(this->points[i]));
|
||||
}
|
||||
|
@ -150,7 +150,7 @@ SV*
|
|||
MultiPoint::to_SV_pureperl() const {
|
||||
const unsigned int num_points = this->points.size();
|
||||
AV* av = newAV();
|
||||
av_extend(av, num_points-1);
|
||||
if (num_points > 0) av_extend(av, num_points-1);
|
||||
for (unsigned int i = 0; i < num_points; i++) {
|
||||
av_store(av, i, this->points[i].to_SV_pureperl());
|
||||
}
|
||||
|
|
|
@ -154,10 +154,12 @@ TriangleMesh::slice(z)
|
|||
mslicer.slice(z_f, &layers);
|
||||
|
||||
AV* layers_av = newAV();
|
||||
av_extend(layers_av, layers.size()-1);
|
||||
size_t len = layers.size();
|
||||
if (len > 0) av_extend(layers_av, len-1);
|
||||
for (unsigned int i = 0; i < layers.size(); i++) {
|
||||
AV* expolygons_av = newAV();
|
||||
av_extend(expolygons_av, layers[i].size()-1);
|
||||
len = layers[i].size();
|
||||
if (len > 0) av_extend(expolygons_av, len-1);
|
||||
unsigned int j = 0;
|
||||
for (ExPolygons::iterator it = layers[i].begin(); it != layers[i].end(); ++it) {
|
||||
av_store(expolygons_av, j++, perl_to_SV_clone_ref(*it));
|
||||
|
|
|
@ -286,7 +286,8 @@ T_ARRAYREF
|
|||
AV* av = newAV();
|
||||
$arg = newRV_noinc((SV*)av);
|
||||
sv_2mortal($arg);
|
||||
av_extend(av, $var.size()-1);
|
||||
const unsigned int len = $var.size();
|
||||
if (len > 0) av_extend(av, len-1);
|
||||
int i = 0;
|
||||
for (${type}::const_iterator it = $var.begin(); it != $var.end(); ++it) {
|
||||
av_store(av, i++, perl_to_SV_clone_ref(*it));
|
||||
|
@ -297,7 +298,8 @@ T_ARRAYREF_PTR
|
|||
AV* av = newAV();
|
||||
$arg = newRV_noinc((SV*)av);
|
||||
sv_2mortal($arg);
|
||||
av_extend(av, $var->size()-1);
|
||||
const unsigned int len = $var->size();
|
||||
if (len > 0) av_extend(av, len-1);
|
||||
int i = 0;
|
||||
for (${ my $t = $type; $t =~ s/\*$//; \$t }::iterator it = $var->begin(); it != $var->end(); ++it) {
|
||||
av_store(av, i++, perl_to_SV_ref(*it));
|
||||
|
@ -307,7 +309,8 @@ T_PTR_ARRAYREF_PTR
|
|||
AV* av = newAV();
|
||||
$arg = newRV_noinc((SV*)av);
|
||||
sv_2mortal($arg);
|
||||
av_extend(av, $var->size()-1);
|
||||
const unsigned int len = $var->size();
|
||||
if (len > 0) av_extend(av, len-1);
|
||||
int i = 0;
|
||||
for (${ my $t = $type; $t =~ s/\*$//; \$t }::iterator it = $var->begin(); it != $var->end(); ++it) {
|
||||
av_store(av, i++, perl_to_SV_ref(**it));
|
||||
|
@ -317,7 +320,8 @@ T_PTR_ARRAYREF
|
|||
AV* av = newAV();
|
||||
$arg = newRV_noinc((SV*)av);
|
||||
sv_2mortal($arg);
|
||||
av_extend(av, $var.size()-1);
|
||||
const unsigned int len = $var.size();
|
||||
if (len > 0) av_extend(av, len-1);
|
||||
int i = 0;
|
||||
for (${type}::iterator it = $var.begin(); it != $var.end(); ++it) {
|
||||
av_store(av, i++, (*it)->to_SV());
|
||||
|
@ -327,7 +331,8 @@ T_LAYER_HEIGHT_RANGES
|
|||
AV* av = newAV();
|
||||
$arg = newRV_noinc((SV*)av);
|
||||
sv_2mortal($arg);
|
||||
av_extend(av, $var.size() - 1);
|
||||
const unsigned int len = $var.size();
|
||||
if (len > 0) av_extend(av, len-1);
|
||||
// map is sorted, so we can just copy it in order
|
||||
int i = 0;
|
||||
for (${type}::iterator it = $var.begin(); it != $var.end(); ++it) {
|
||||
|
|
Loading…
Reference in a new issue