summaryrefslogtreecommitdiff
path: root/gnu/usr.bin/perl/ext
diff options
context:
space:
mode:
authorAndrew Fresh <afresh1@cvs.openbsd.org>2019-05-24 21:33:58 +0000
committerAndrew Fresh <afresh1@cvs.openbsd.org>2019-05-24 21:33:58 +0000
commitf384c6c58c0045179454487ae1f29c89f4521e4b (patch)
tree0884eaf0d6584ee7b894fcc8f4589234dffd316d /gnu/usr.bin/perl/ext
parent74f00bb05d14b4ab94ac48c0a3690e3870e1f406 (diff)
Update to perl 5.28.2
Minor bugfixes and documentation improvments. See perldelta for details. https://metacpan.org/pod/release/SHAY/perl-5.28.2/pod/perldelta.pod OK bluhm@
Diffstat (limited to 'gnu/usr.bin/perl/ext')
-rw-r--r--gnu/usr.bin/perl/ext/PerlIO-scalar/scalar.pm2
-rw-r--r--gnu/usr.bin/perl/ext/PerlIO-scalar/scalar.xs11
-rw-r--r--gnu/usr.bin/perl/ext/XS-APItest/t/svcatpvf.t2
3 files changed, 12 insertions, 3 deletions
diff --git a/gnu/usr.bin/perl/ext/PerlIO-scalar/scalar.pm b/gnu/usr.bin/perl/ext/PerlIO-scalar/scalar.pm
index 61b62ea3a2e..6f4fa176be9 100644
--- a/gnu/usr.bin/perl/ext/PerlIO-scalar/scalar.pm
+++ b/gnu/usr.bin/perl/ext/PerlIO-scalar/scalar.pm
@@ -1,5 +1,5 @@
package PerlIO::scalar;
-our $VERSION = '0.29';
+our $VERSION = '0.30';
require XSLoader;
XSLoader::load();
1;
diff --git a/gnu/usr.bin/perl/ext/PerlIO-scalar/scalar.xs b/gnu/usr.bin/perl/ext/PerlIO-scalar/scalar.xs
index 10a4185899f..e717736fabc 100644
--- a/gnu/usr.bin/perl/ext/PerlIO-scalar/scalar.xs
+++ b/gnu/usr.bin/perl/ext/PerlIO-scalar/scalar.xs
@@ -185,11 +185,20 @@ PerlIOScalar_read(pTHX_ PerlIO *f, void *vbuf, Size_t count)
/* I assume that Off_t is at least as large as len (which
* seems safe) and that the size of the buffer in our SV is
* always less than half the size of the address space
+ *
+ * Which turns out not to be the case on 64-bit Windows, since
+ * a build with USE_LARGE_FILES=undef defines Off_t as long,
+ * which is 32-bits on 64-bit Windows. This doesn't appear to
+ * be the case on other 64-bit platforms.
*/
- STATIC_ASSERT_STMT(sizeof(Off_t) >= sizeof(len));
+#if Off_t_size >= Size_t_size
assert(len < ((~(STRLEN)0) >> 1));
if ((Off_t)len <= s->posn)
return 0;
+#else
+ if (len <= (STRLEN)s->posn)
+ return 0;
+#endif
got = len - (STRLEN)(s->posn);
if ((STRLEN)got > (STRLEN)count)
got = (STRLEN)count;
diff --git a/gnu/usr.bin/perl/ext/XS-APItest/t/svcatpvf.t b/gnu/usr.bin/perl/ext/XS-APItest/t/svcatpvf.t
index 15348891bf2..865020da301 100644
--- a/gnu/usr.bin/perl/ext/XS-APItest/t/svcatpvf.t
+++ b/gnu/usr.bin/perl/ext/XS-APItest/t/svcatpvf.t
@@ -16,6 +16,6 @@ for my $case (@cases) {
my ($what, $format) = @$case;
my $got = eval { test_sv_catpvf($format); 1 };
my $exn = $got ? undef : $@;
- like($exn, qr/\b\QCannot yet reorder sv_catpvfn() arguments from va_list\E\b/,
+ like($exn, qr/\b\QCannot yet reorder sv_vcatpvfn() arguments from va_list\E\b/,
"explicit $what index forbidden in va_list arguments");
}