This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Update B's size/offset for CvFLAGS to U32, following commit 51c78f1b91bbcd7a.
authorNicholas Clark <nick@ccl4.org>
Sat, 22 Jun 2013 21:25:26 +0000 (14:25 -0700)
committerJames E Keenan <jkeenan@cpan.org>
Mon, 24 Jun 2013 23:33:21 +0000 (01:33 +0200)
B.xs contains a table of offsets and sizes for members of the various SV
structures. This needs updating as 51c78f1b91bbcd7a changed CvFLAGS from
U16 to U32. This ommision won't be noticed on little endian platforms, but on
big endian platforms B::CV::CvFLAGS will return 0 instead of the true value.

For: RT #118603

ext/B/B.xs

index fdeca72..fbe6be6 100644 (file)
@@ -1328,7 +1328,7 @@ MODULE = B        PACKAGE = B::IV
 #define PVCV_file_ix   sv_char_pp | offsetof(struct xpvcv, xcv_file)
 #define PVCV_outside_ix        sv_SVp | offsetof(struct xpvcv, xcv_outside)
 #define PVCV_outside_seq_ix sv_U32p | offsetof(struct xpvcv, xcv_outside_seq)
-#define PVCV_flags_ix  sv_U16p | offsetof(struct xpvcv, xcv_flags)
+#define PVCV_flags_ix  sv_U32p | offsetof(struct xpvcv, xcv_flags)
 
 #define PVHV_max_ix    sv_STRLENp | offsetof(struct xpvhv, xhv_max)