Improve conversions from uint64 to Perl types.

Tom Lane <tgl@sss.pgh.pa.us>

Commit: f3f3aae4b7841f4dc51129691a7404a03eb55449
Author: Tom Lane <tgl@sss.pgh.pa.us>
Date: 2016-03-14T18:38:44Z
Releases: 9.6.0
Improve conversions from uint64 to Perl types.

Perl's integers are pointer-sized, so can hold more than INT_MAX on LP64
platforms, and come in both signed (IV) and unsigned (UV).  Floating
point values (NV) may also be larger than double.

Since Perl 5.19.4 array indices are SSize_t instead of I32, so allow up
to SSize_t_max on those versions.  The limit is not imposed just by
av_extend's argument type, but all the array handling code, so remove
the speculative comment.

Dagfinn Ilmari Mannsåker

Files

PathChange+/−
src/pl/plperl/plperl.c modified +5 −9
src/pl/plperl/plperl.h modified +7 −0