summaryrefslogtreecommitdiff
path: root/inline_invlist.c
diff options
context:
space:
mode:
authorKarl Williamson <public@khwilliamson.com>2013-07-06 12:39:22 -0600
committerKarl Williamson <public@khwilliamson.com>2013-07-16 13:58:06 -0600
commitd6605d24c6be02c97abae04f7d64d0eae183eba0 (patch)
treedc4cfcefcf30d1b34c4923e0bc66aaef3e468b30 /inline_invlist.c
parenta0316a6cd4a14261beb22d95530d5763e8b6756b (diff)
downloadperl-d6605d24c6be02c97abae04f7d64d0eae183eba0.tar.gz
Reinstate "regcomp.c: Make inversion lists SVt_PVLV"
This reverts commit ac7a6f5849b5fd57b2e837f4ddbc18c992610e9c which reverted 2c3365de8c1168f115576a4976d067e3b911c490, thus reinstating the latter commit. It turns out that the error being chased down was not due to this commit. This commit additionally changes some now-obsolete wording in a pod. This change was not in 2c3365de8c1168f115576a4976d067e3b911c490. The original message for commit 2c3365de8c1168f115576a4976d067e3b911c490 was: This is the 2nd step in separating the inversion list body from header. This commit gives inversion lists the header from a SVt_PVLV, and repurposes one of its fields into being the length of the inversion list. This is a temporary measure, in case binary compatibility is an issue. Future commits will create a new SV type just for inversion lists. This SV type was chosen because it has a sufficient number of fields to accommodate all the header fields from inversion lists.
Diffstat (limited to 'inline_invlist.c')
-rw-r--r--inline_invlist.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/inline_invlist.c b/inline_invlist.c
index b194c0d264..f20f6daae0 100644
--- a/inline_invlist.c
+++ b/inline_invlist.c
@@ -41,7 +41,7 @@
#define ELEMENT_RANGE_MATCHES_INVLIST(i) (! ((i) & 1))
#define PREV_RANGE_MATCHES_INVLIST(i) (! ELEMENT_RANGE_MATCHES_INVLIST(i))
-PERL_STATIC_INLINE UV*
+PERL_STATIC_INLINE STRLEN*
S__get_invlist_len_addr(pTHX_ SV* invlist)
{
/* Return the address of the UV that contains the current number
@@ -49,7 +49,7 @@ S__get_invlist_len_addr(pTHX_ SV* invlist)
PERL_ARGS_ASSERT__GET_INVLIST_LEN_ADDR;
- return (UV *) (SvPVX(invlist) + (INVLIST_LEN_OFFSET * sizeof (UV)));
+ return &(LvTARGLEN(invlist));
}
PERL_STATIC_INLINE UV