X-Git-Url: http://git.vpit.fr/?p=perl%2Fmodules%2Fre-engine-Hooks.git;a=blobdiff_plain;f=src%2F5021003%2Forig%2Finline_invlist.c;fp=src%2F5021003%2Forig%2Finline_invlist.c;h=0000000000000000000000000000000000000000;hp=1875a0506e91d0730949f3615e39a06a917ef2ff;hb=fe5c260b357f1011dff1c4fdf91dc1811675cca9;hpb=a2a125c4999b4c78dcf85fa24c30b832527b500a diff --git a/src/5021003/orig/inline_invlist.c b/src/5021003/orig/inline_invlist.c deleted file mode 100644 index 1875a05..0000000 --- a/src/5021003/orig/inline_invlist.c +++ /dev/null @@ -1,66 +0,0 @@ -/* inline_invlist.c - * - * Copyright (C) 2012 by Larry Wall and others - * - * You may distribute under the terms of either the GNU General Public - * License or the Artistic License, as specified in the README file. - */ - -#if defined(PERL_IN_UTF8_C) || defined(PERL_IN_REGCOMP_C) || defined(PERL_IN_REGEXEC_C) - -/* An element is in an inversion list iff its index is even numbered: 0, 2, 4, - * etc */ -#define ELEMENT_RANGE_MATCHES_INVLIST(i) (! ((i) & 1)) -#define PREV_RANGE_MATCHES_INVLIST(i) (! ELEMENT_RANGE_MATCHES_INVLIST(i)) - -/* This converts to/from our UVs to what the SV code is expecting: bytes. */ -#define TO_INTERNAL_SIZE(x) ((x) * sizeof(UV)) -#define FROM_INTERNAL_SIZE(x) ((x)/ sizeof(UV)) - -PERL_STATIC_INLINE bool* -S_get_invlist_offset_addr(SV* invlist) -{ - /* Return the address of the field that says whether the inversion list is - * offset (it contains 1) or not (contains 0) */ - PERL_ARGS_ASSERT_GET_INVLIST_OFFSET_ADDR; - - assert(SvTYPE(invlist) == SVt_INVLIST); - - return &(((XINVLIST*) SvANY(invlist))->is_offset); -} - -PERL_STATIC_INLINE UV -S__invlist_len(SV* const invlist) -{ - /* Returns the current number of elements stored in the inversion list's - * array */ - - PERL_ARGS_ASSERT__INVLIST_LEN; - - assert(SvTYPE(invlist) == SVt_INVLIST); - - return (SvCUR(invlist) == 0) - ? 0 - : FROM_INTERNAL_SIZE(SvCUR(invlist)) - *get_invlist_offset_addr(invlist); -} - -PERL_STATIC_INLINE bool -S__invlist_contains_cp(SV* const invlist, const UV cp) -{ - /* Does contain code point as part of the set? */ - - IV index = _invlist_search(invlist, cp); - - PERL_ARGS_ASSERT__INVLIST_CONTAINS_CP; - - return index >= 0 && ELEMENT_RANGE_MATCHES_INVLIST(index); -} - -# if defined(PERL_IN_UTF8_C) || defined(PERL_IN_REGEXEC_C) - -/* These symbols are only needed later in regcomp.c */ -# undef TO_INTERNAL_SIZE -# undef FROM_INTERNAL_SIZE -# endif - -#endif