Linux cpanel.rrshost.in 5.15.0-25-generic #25-Ubuntu SMP Wed Mar 30 15:54:22 UTC 2022 x86_64
Apache
: 109.123.238.221 | : 108.162.241.240
128 Domain
8.2.28
aev999
Terminal
AUTO ROOT
Adminer
Backdoor Destroyer
Linux Exploit
Lock Shell
Lock File
Create User
CREATE RDP
PHP Mailer
BACKCONNECT
HASH IDENTIFIER
README
+ Create Folder
+ Create File
/
usr /
lib /
x86_64-linux-gnu /
perl /
5.34.0 /
CORE /
[ HOME SHELL ]
Name
Size
Permission
Action
EXTERN.h
1.54
KB
-rw-r--r--
INTERN.h
1.25
KB
-rw-r--r--
XSUB.h
24.29
KB
-rw-r--r--
av.h
3.65
KB
-rw-r--r--
bitcount.h
1.01
KB
-rw-r--r--
charclass_invlists.h
4.15
MB
-rw-r--r--
config.h
161.32
KB
-rw-r--r--
cop.h
45.5
KB
-rw-r--r--
cv.h
12.07
KB
-rw-r--r--
dosish.h
5.33
KB
-rw-r--r--
ebcdic_tables.h
52
KB
-rw-r--r--
embed.h
99.51
KB
-rw-r--r--
embedvar.h
15.27
KB
-rw-r--r--
fakesdio.h
3.13
KB
-rw-r--r--
feature.h
12.36
KB
-rw-r--r--
form.h
1.43
KB
-rw-r--r--
git_version.h
357
B
-rw-r--r--
gv.h
11.34
KB
-rw-r--r--
handy.h
131.01
KB
-rw-r--r--
hv.h
25.97
KB
-rw-r--r--
hv_func.h
7.02
KB
-rw-r--r--
hv_macro.h
3.04
KB
-rw-r--r--
inline.h
81.02
KB
-rw-r--r--
intrpvar.h
35.13
KB
-rw-r--r--
invlist_inline.h
7.29
KB
-rw-r--r--
iperlsys.h
51.29
KB
-rw-r--r--
keywords.h
6.5
KB
-rw-r--r--
l1_char_class_tab.h
119.64
KB
-rw-r--r--
malloc_ctl.h
1.49
KB
-rw-r--r--
metaconfig.h
728
B
-rw-r--r--
mg.h
3.56
KB
-rw-r--r--
mg_data.h
5.21
KB
-rw-r--r--
mg_raw.h
4.27
KB
-rw-r--r--
mg_vtable.h
9.4
KB
-rw-r--r--
mydtrace.h
1.65
KB
-rw-r--r--
nostdio.h
3.31
KB
-rw-r--r--
op.h
39.34
KB
-rw-r--r--
op_reg_common.h
5.77
KB
-rw-r--r--
opcode.h
91.69
KB
-rw-r--r--
opnames.h
8.8
KB
-rw-r--r--
overload.h
3.2
KB
-rw-r--r--
pad.h
17.17
KB
-rw-r--r--
parser.h
6.92
KB
-rw-r--r--
patchlevel-debian.h
6.75
KB
-rw-r--r--
patchlevel.h
6.42
KB
-rw-r--r--
perl.h
286.63
KB
-rw-r--r--
perl_inc_macro.h
6.32
KB
-rw-r--r--
perl_langinfo.h
2.85
KB
-rw-r--r--
perl_siphash.h
5.06
KB
-rw-r--r--
perlapi.h
634
B
-rw-r--r--
perlio.h
9.2
KB
-rw-r--r--
perliol.h
13.33
KB
-rw-r--r--
perlsdio.h
527
B
-rw-r--r--
perlvars.h
12.02
KB
-rw-r--r--
perly.h
5.16
KB
-rw-r--r--
pp.h
28.99
KB
-rw-r--r--
pp_proto.h
11.95
KB
-rw-r--r--
proto.h
271.9
KB
-rw-r--r--
reentr.h
85.18
KB
-rw-r--r--
regcharclass.h
267.62
KB
-rw-r--r--
regcomp.h
52.06
KB
-rw-r--r--
regexp.h
37.07
KB
-rw-r--r--
regnodes.h
85.25
KB
-rw-r--r--
sbox32_hash.h
55.95
KB
-rw-r--r--
scope.h
11.86
KB
-rw-r--r--
sv.h
91.59
KB
-rw-r--r--
thread.h
16.51
KB
-rw-r--r--
time64.h
900
B
-rw-r--r--
time64_config.h
2.02
KB
-rw-r--r--
uconfig.h
161.03
KB
-rw-r--r--
uni_keywords.h
541.83
KB
-rw-r--r--
unicode_constants.h
8.26
KB
-rw-r--r--
unixish.h
5.16
KB
-rw-r--r--
utf8.h
49.07
KB
-rw-r--r--
utfebcdic.h
64.54
KB
-rw-r--r--
util.h
10.58
KB
-rw-r--r--
uudmap.h
1.03
KB
-rw-r--r--
vutil.h
7.59
KB
-rw-r--r--
warnings.h
10.65
KB
-rw-r--r--
zaphod32_hash.h
9.43
KB
-rw-r--r--
Delete
Unzip
Zip
${this.title}
Close
Code Editor : invlist_inline.h
/* invlist_inline.h * * 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. */ #ifndef PERL_INVLIST_INLINE_H_ #define PERL_INVLIST_INLINE_H_ #if defined(PERL_IN_UTF8_C) \ || defined(PERL_IN_REGCOMP_C) \ || defined(PERL_IN_REGEXEC_C) \ || defined(PERL_IN_TOKE_C) \ || defined(PERL_IN_PP_C) \ || defined(PERL_IN_OP_C) \ || defined(PERL_IN_DOOP_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_is_invlist(SV* const invlist) { return invlist != NULL && SvTYPE(invlist) == SVt_INVLIST; } 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(is_invlist(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(is_invlist(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 <invlist> contain code point <cp> 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); } PERL_STATIC_INLINE UV* S_invlist_array(SV* const invlist) { /* Returns the pointer to the inversion list's array. Every time the * length changes, this needs to be called in case malloc or realloc moved * it */ PERL_ARGS_ASSERT_INVLIST_ARRAY; /* Must not be empty. If these fail, you probably didn't check for <len> * being non-zero before trying to get the array */ assert(_invlist_len(invlist)); /* The very first element always contains zero, The array begins either * there, or if the inversion list is offset, at the element after it. * The offset header field determines which; it contains 0 or 1 to indicate * how much additionally to add */ assert(0 == *(SvPVX(invlist))); return ((UV *) SvPVX(invlist) + *get_invlist_offset_addr(invlist)); } #endif #if defined(PERL_IN_REGCOMP_C) || defined(PERL_IN_OP_C) || defined(PERL_IN_DOOP_C) PERL_STATIC_INLINE void S_invlist_extend(pTHX_ SV* const invlist, const UV new_max) { /* Grow the maximum size of an inversion list */ PERL_ARGS_ASSERT_INVLIST_EXTEND; assert(SvTYPE(invlist) == SVt_INVLIST); /* Add one to account for the zero element at the beginning which may not * be counted by the calling parameters */ SvGROW((SV *)invlist, TO_INTERNAL_SIZE(new_max + 1)); } PERL_STATIC_INLINE void S_invlist_set_len(pTHX_ SV* const invlist, const UV len, const bool offset) { /* Sets the current number of elements stored in the inversion list. * Updates SvCUR correspondingly */ PERL_UNUSED_CONTEXT; PERL_ARGS_ASSERT_INVLIST_SET_LEN; assert(SvTYPE(invlist) == SVt_INVLIST); SvCUR_set(invlist, (len == 0) ? 0 : TO_INTERNAL_SIZE(len + offset)); assert(SvLEN(invlist) == 0 || SvCUR(invlist) <= SvLEN(invlist)); } PERL_STATIC_INLINE SV* S_add_cp_to_invlist(pTHX_ SV* invlist, const UV cp) { return _add_range_to_invlist(invlist, cp, cp); } PERL_STATIC_INLINE UV S_invlist_highest(SV* const invlist) { /* Returns the highest code point that matches an inversion list. This API * has an ambiguity, as it returns 0 under either the highest is actually * 0, or if the list is empty. If this distinction matters to you, check * for emptiness before calling this function */ UV len = _invlist_len(invlist); UV *array; PERL_ARGS_ASSERT_INVLIST_HIGHEST; if (len == 0) { return 0; } array = invlist_array(invlist); /* The last element in the array in the inversion list always starts a * range that goes to infinity. That range may be for code points that are * matched in the inversion list, or it may be for ones that aren't * matched. In the latter case, the highest code point in the set is one * less than the beginning of this range; otherwise it is the final element * of this range: infinity */ return (ELEMENT_RANGE_MATCHES_INVLIST(len - 1)) ? UV_MAX : array[len - 1] - 1; } #endif #if defined(PERL_IN_REGCOMP_C) || defined(PERL_IN_OP_C) PERL_STATIC_INLINE STRLEN* S_get_invlist_iter_addr(SV* invlist) { /* Return the address of the UV that contains the current iteration * position */ PERL_ARGS_ASSERT_GET_INVLIST_ITER_ADDR; assert(is_invlist(invlist)); return &(((XINVLIST*) SvANY(invlist))->iterator); } PERL_STATIC_INLINE void S_invlist_iterinit(SV* invlist) /* Initialize iterator for invlist */ { PERL_ARGS_ASSERT_INVLIST_ITERINIT; *get_invlist_iter_addr(invlist) = 0; } PERL_STATIC_INLINE void S_invlist_iterfinish(SV* invlist) { /* Terminate iterator for invlist. This is to catch development errors. * Any iteration that is interrupted before completed should call this * function. Functions that add code points anywhere else but to the end * of an inversion list assert that they are not in the middle of an * iteration. If they were, the addition would make the iteration * problematical: if the iteration hadn't reached the place where things * were being added, it would be ok */ PERL_ARGS_ASSERT_INVLIST_ITERFINISH; *get_invlist_iter_addr(invlist) = (STRLEN) UV_MAX; } STATIC bool S_invlist_iternext(SV* invlist, UV* start, UV* end) { /* An C<invlist_iterinit> call on <invlist> must be used to set this up. * This call sets in <*start> and <*end>, the next range in <invlist>. * Returns <TRUE> if successful and the next call will return the next * range; <FALSE> if was already at the end of the list. If the latter, * <*start> and <*end> are unchanged, and the next call to this function * will start over at the beginning of the list */ STRLEN* pos = get_invlist_iter_addr(invlist); UV len = _invlist_len(invlist); UV *array; PERL_ARGS_ASSERT_INVLIST_ITERNEXT; if (*pos >= len) { *pos = (STRLEN) UV_MAX; /* Force iterinit() to be required next time */ return FALSE; } array = invlist_array(invlist); *start = array[(*pos)++]; if (*pos >= len) { *end = UV_MAX; } else { *end = array[(*pos)++] - 1; } return TRUE; } #endif #ifndef PERL_IN_REGCOMP_C /* These symbols are only needed later in regcomp.c */ # undef TO_INTERNAL_SIZE # undef FROM_INTERNAL_SIZE #endif #endif /* PERL_INVLIST_INLINE_H_ */
Close