summaryrefslogtreecommitdiff
path: root/invlist_inline.h
diff options
context:
space:
mode:
authorKarl Williamson <khw@cpan.org>2018-08-19 22:01:09 -0600
committerKarl Williamson <khw@cpan.org>2018-08-20 12:44:25 -0600
commit510ceaa0c9bf44a9e138845a271b86714d52406f (patch)
treeec28c99b46dbde78352636f4abd7e61be6322d69 /invlist_inline.h
parent327cef2fad130e3c780624e5dd3f4256bb41e6f6 (diff)
downloadperl-510ceaa0c9bf44a9e138845a271b86714d52406f.tar.gz
Add inline function to hide implementation details
Diffstat (limited to 'invlist_inline.h')
-rw-r--r--invlist_inline.h12
1 files changed, 10 insertions, 2 deletions
diff --git a/invlist_inline.h b/invlist_inline.h
index 3a1afc695d..6650cc57b6 100644
--- a/invlist_inline.h
+++ b/invlist_inline.h
@@ -17,6 +17,14 @@
#define TO_INTERNAL_SIZE(x) ((x) * sizeof(UV))
#define FROM_INTERNAL_SIZE(x) ((x)/ sizeof(UV))
+PERL_STATIC_INLINE bool
+S_is_invlist(SV* const invlist)
+{
+ PERL_ARGS_ASSERT_IS_INVLIST;
+
+ return SvTYPE(invlist) == SVt_INVLIST;
+}
+
PERL_STATIC_INLINE bool*
S_get_invlist_offset_addr(SV* invlist)
{
@@ -24,7 +32,7 @@ S_get_invlist_offset_addr(SV* invlist)
* offset (it contains 1) or not (contains 0) */
PERL_ARGS_ASSERT_GET_INVLIST_OFFSET_ADDR;
- assert(SvTYPE(invlist) == SVt_INVLIST);
+ assert(is_invlist(invlist));
return &(((XINVLIST*) SvANY(invlist))->is_offset);
}
@@ -37,7 +45,7 @@ S__invlist_len(SV* const invlist)
PERL_ARGS_ASSERT__INVLIST_LEN;
- assert(SvTYPE(invlist) == SVt_INVLIST);
+ assert(is_invlist(invlist));
return (SvCUR(invlist) == 0)
? 0