X-Git-Url: https://perl5.git.perl.org/perl5.git/blobdiff_plain/5792c6421a2dffa32c7169e0ebe482427b43a1b8..665873e948cf9825de44d5a63db7770ac561ff8f:/embed.fnc diff --git a/embed.fnc b/embed.fnc index ea6608e..02546ff 100644 --- a/embed.fnc +++ b/embed.fnc @@ -437,7 +437,6 @@ Ap |int |do_spawn_nowait|NN char* cmd #if !defined(WIN32) p |bool|do_exec3 |NN const char *incmd|int fd|int do_report #endif -p |void |do_execfree #if defined(PERL_IN_DOIO_C) s |void |exec_failed |NN const char *cmd|int fd|int do_report #endif @@ -465,6 +464,31 @@ Apmb |bool |do_open |NN GV* gv|NN const char* name|I32 len|int as_raw \ Ap |bool |do_open9 |NN GV *gv|NN const char *name|I32 len|int as_raw \ |int rawmode|int rawperm|NULLOK PerlIO *supplied_fp \ |NN SV *svs|I32 num +pn |void |setfd_cloexec|int fd +pn |void |setfd_inhexec|int fd +p |void |setfd_cloexec_for_nonsysfd|int fd +p |void |setfd_inhexec_for_sysfd|int fd +p |void |setfd_cloexec_or_inhexec_by_sysfdness|int fd +pR |int |PerlLIO_dup_cloexec|int oldfd +p |int |PerlLIO_dup2_cloexec|int oldfd|int newfd +pR |int |PerlLIO_open_cloexec|NN const char *file|int flag +pR |int |PerlLIO_open3_cloexec|NN const char *file|int flag|int perm +pnoR |int |my_mkstemp_cloexec|NN char *templte +#ifdef HAS_PIPE +pR |int |PerlProc_pipe_cloexec|NN int *pipefd +#endif +#ifdef HAS_SOCKET +pR |int |PerlSock_socket_cloexec|int domain|int type|int protocol +pR |int |PerlSock_accept_cloexec|int listenfd \ + |NULLOK struct sockaddr *addr \ + |NULLOK Sock_size_t *addrlen +#endif +#if defined (HAS_SOCKETPAIR) || \ + (defined (HAS_SOCKET) && defined(SOCK_DGRAM) && \ + defined(AF_INET) && defined(PF_INET)) +pR |int |PerlSock_socketpair_cloexec|int domain|int type|int protocol \ + |NN int *pairfd +#endif #if defined(PERL_IN_DOIO_C) s |IO * |openn_setup |NN GV *gv|NN char *mode|NN PerlIO **saveifp \ |NN PerlIO **saveofp|NN int *savefd \ @@ -497,7 +521,7 @@ p |Off_t |do_sysseek |NN GV* gv|Off_t pos|int whence : Defined in doio.c, used only in pp_sys.c pR |Off_t |do_tell |NN GV* gv : Defined in doop.c, used only in pp.c -p |I32 |do_trans |NN SV* sv +p |Size_t |do_trans |NN SV* sv : Used in my.c and pp.c p |UV |do_vecget |NN SV* sv|STRLEN offset|int size : Defined in doop.c, used only in mg.c (with /* XXX slurp this routine */) @@ -778,47 +802,56 @@ ADMpR |bool |is_uni_print_lc|UV c ADMpR |bool |is_uni_punct_lc|UV c ADMpPR |bool |is_uni_xdigit_lc|UV c AndmoR |bool |is_utf8_invariant_string|NN const U8* const s \ - |STRLEN const len + |STRLEN len AnidR |bool |is_utf8_invariant_string_loc|NN const U8* const s \ - |STRLEN const len \ + |STRLEN len \ |NULLOK const U8 ** ep -AmnpdRP |bool |is_ascii_string|NN const U8* const s|const STRLEN len -AmnpdRP |bool |is_invariant_string|NN const U8* const s|const STRLEN len +AniR |unsigned int|_variant_byte_number|PERL_UINTMAX_T word +#if defined(PERL_CORE) || defined(PERL_EXT) +EinR |Size_t |variant_under_utf8_count|NN const U8* const s \ + |NN const U8* const e +#endif +AmnpdRP |bool |is_ascii_string|NN const U8* const s|STRLEN len +AmnpdRP |bool |is_invariant_string|NN const U8* const s|STRLEN len +#if defined(PERL_CORE) || defined (PERL_EXT) +EXnidR |bool |is_utf8_non_invariant_string|NN const U8* const s \ + |STRLEN len +#endif AnpdD |STRLEN |is_utf8_char |NN const U8 *s Abmnpd |STRLEN |is_utf8_char_buf|NN const U8 *buf|NN const U8 *buf_end -AnipdR |bool |is_utf8_string |NN const U8 *s|const STRLEN len +AnmdpR |bool |is_utf8_string |NN const U8 *s|STRLEN len AnidR |bool |is_utf8_string_flags \ - |NN const U8 *s|const STRLEN len|const U32 flags -AnidR |bool |is_strict_utf8_string|NN const U8 *s|const STRLEN len -AnidR |bool |is_c9strict_utf8_string|NN const U8 *s|const STRLEN len + |NN const U8 *s|STRLEN len|const U32 flags +AnmdpR |bool |is_strict_utf8_string|NN const U8 *s|STRLEN len +AnmdpR |bool |is_c9strict_utf8_string|NN const U8 *s|STRLEN len Anpdmb |bool |is_utf8_string_loc \ - |NN const U8 *s|const STRLEN len|NN const U8 **ep + |NN const U8 *s|STRLEN len|NN const U8 **ep Andm |bool |is_utf8_string_loc_flags \ - |NN const U8 *s|const STRLEN len|NN const U8 **ep \ + |NN const U8 *s|STRLEN len|NN const U8 **ep \ |const U32 flags Andm |bool |is_strict_utf8_string_loc \ - |NN const U8 *s|const STRLEN len|NN const U8 **ep + |NN const U8 *s|STRLEN len|NN const U8 **ep Andm |bool |is_c9strict_utf8_string_loc \ - |NN const U8 *s|const STRLEN len|NN const U8 **ep + |NN const U8 *s|STRLEN len|NN const U8 **ep Anipd |bool |is_utf8_string_loclen \ - |NN const U8 *s|const STRLEN len|NULLOK const U8 **ep \ + |NN const U8 *s|STRLEN len|NULLOK const U8 **ep \ |NULLOK STRLEN *el Anid |bool |is_utf8_string_loclen_flags \ - |NN const U8 *s|const STRLEN len|NULLOK const U8 **ep \ + |NN const U8 *s|STRLEN len|NULLOK const U8 **ep \ |NULLOK STRLEN *el|const U32 flags Anid |bool |is_strict_utf8_string_loclen \ - |NN const U8 *s|const STRLEN len|NULLOK const U8 **ep \ + |NN const U8 *s|STRLEN len|NULLOK const U8 **ep \ |NULLOK STRLEN *el Anid |bool |is_c9strict_utf8_string_loclen \ - |NN const U8 *s|const STRLEN len|NULLOK const U8 **ep \ + |NN const U8 *s|STRLEN len|NULLOK const U8 **ep \ |NULLOK STRLEN *el Amnd |bool |is_utf8_fixed_width_buf_flags \ - |NN const U8 * const s|const STRLEN len|const U32 flags + |NN const U8 * const s|STRLEN len|const U32 flags Amnd |bool |is_utf8_fixed_width_buf_loc_flags \ - |NN const U8 * const s|const STRLEN len \ + |NN const U8 * const s|STRLEN len \ |NULLOK const U8 **ep|const U32 flags Anid |bool |is_utf8_fixed_width_buf_loclen_flags \ - |NN const U8 * const s|const STRLEN len \ + |NN const U8 * const s|STRLEN len \ |NULLOK const U8 **ep|NULLOK STRLEN *el|const U32 flags AmndP |bool |is_utf8_valid_partial_char \ |NN const U8 * const s|NN const U8 * const e @@ -863,6 +896,8 @@ ADMpR |bool |is_utf8_punct |NN const U8 *p ADMpR |bool |is_utf8_xdigit |NN const U8 *p AMpR |bool |_is_utf8_mark |NN const U8 *p ADMpR |bool |is_utf8_mark |NN const U8 *p +EXdpR |bool |isSCRIPT_RUN |NN const U8 *s|NN const U8 *send \ + |const bool utf8_target : Used in perly.y p |OP* |jmaybe |NN OP *o : Used in pp.c @@ -1110,7 +1145,7 @@ ApdR |OP* |newSLICEOP |I32 flags|NULLOK OP* subscript|NULLOK OP* listop ApdR |OP* |newSTATEOP |I32 flags|NULLOK char* label|NULLOK OP* o Apbm |CV* |newSUB |I32 floor|NULLOK OP* o|NULLOK OP* proto \ |NULLOK OP* block -p |CV * |newXS_len_flags|NULLOK const char *name|STRLEN len \ +pd |CV * |newXS_len_flags|NULLOK const char *name|STRLEN len \ |NN XSUBADDR_t subaddr\ |NULLOK const char *const filename \ |NULLOK const char *const proto \ @@ -1185,6 +1220,7 @@ Apd |void |cv_set_call_checker_flags|NN CV *cv \ |NN Perl_call_checker ckfun \ |NN SV *ckobj|U32 ckflags Apd |void |wrap_op_checker|Optype opcode|NN Perl_check_t new_checker|NN Perl_check_t *old_checker_p +AMpd |void |wrap_keyword_plugin|NN Perl_keyword_plugin_t new_plugin|NN Perl_keyword_plugin_t *old_plugin_p ApR |PERL_SI*|new_stackinfo|I32 stitems|I32 cxitems Ap |char* |scan_vstring |NN const char *s|NN const char *const e \ |NN SV *sv @@ -1270,7 +1306,7 @@ Xpn |void |_warn_problematic_locale p |void |new_numeric |NULLOK const char* newcoll Xp |void |set_numeric_underlying Xp |void |set_numeric_standard -ApM |bool |_is_in_locale_category|const bool compiling|const int category +Xp |bool |_is_in_locale_category|const bool compiling|const int category Apd |void |sync_locale ApdO |void |require_pv |NN const char* pv Apd |void |pack_cat |NN SV *cat|NN const char *pat|NN const char *patend \ @@ -1781,10 +1817,10 @@ pn |bool |translate_substr_offsets|STRLEN curlen|IV pos1_iv \ #if defined(UNLINK_ALL_VERSIONS) Ap |I32 |unlnk |NN const char* f #endif -Apd |I32 |unpack_str |NN const char *pat|NN const char *patend|NN const char *s \ +Apd |SSize_t|unpack_str |NN const char *pat|NN const char *patend|NN const char *s \ |NULLOK const char *strbeg|NN const char *strend|NULLOK char **new_s \ |I32 ocnt|U32 flags -Apd |I32 |unpackstring |NN const char *pat|NN const char *patend|NN const char *s \ +Apd |SSize_t|unpackstring |NN const char *pat|NN const char *patend|NN const char *s \ |NN const char *strend|U32 flags Ap |void |unsharepvn |NULLOK const char* sv|I32 len|U32 hash : Used in gv.c, hv.c @@ -1794,9 +1830,9 @@ p |void |utilize |int aver|I32 floor|NULLOK OP* version|NN OP* idop|NULLOK OP* a ApM |void |_force_out_malformed_utf8_message \ |NN const U8 *const p|NN const U8 * const e|const U32 flags \ |const bool die_here -Ap |U8* |utf16_to_utf8 |NN U8* p|NN U8 *d|I32 bytelen|NN I32 *newlen -Ap |U8* |utf16_to_utf8_reversed|NN U8* p|NN U8 *d|I32 bytelen|NN I32 *newlen -AdpPR |STRLEN |utf8_length |NN const U8* s|NN const U8 *e +EXp |U8* |utf16_to_utf8 |NN U8* p|NN U8 *d|I32 bytelen|NN I32 *newlen +EXp |U8* |utf16_to_utf8_reversed|NN U8* p|NN U8 *d|I32 bytelen|NN I32 *newlen +AdpR |STRLEN |utf8_length |NN const U8* s|NN const U8 *e AipdR |IV |utf8_distance |NN const U8 *a|NN const U8 *b AipdRn |U8* |utf8_hop |NN const U8 *s|SSize_t off AipdRn |U8* |utf8_hop_back|NN const U8 *s|SSize_t off|NN const U8 *start @@ -1822,11 +1858,17 @@ Adop |UV |utf8n_to_uvchr |NN const U8 *s \ |STRLEN curlen \ |NULLOK STRLEN *retlen \ |const U32 flags -Adp |UV |utf8n_to_uvchr_error|NN const U8 *s \ +Adop |UV |utf8n_to_uvchr_error|NN const U8 *s \ |STRLEN curlen \ |NULLOK STRLEN *retlen \ |const U32 flags \ |NULLOK U32 * errors +Adp |UV |utf8n_to_uvchr_msgs|NN const U8 *s \ + |STRLEN curlen \ + |NULLOK STRLEN *retlen \ + |const U32 flags \ + |NULLOK U32 * errors \ + |NULLOK AV ** msgs AipnR |UV |valid_utf8_to_uvchr |NN const U8 *s|NULLOK STRLEN *retlen Ap |UV |utf8n_to_uvuni|NN const U8 *s|STRLEN curlen|NULLOK STRLEN *retlen|U32 flags @@ -1990,7 +2032,7 @@ AnpMd |SV* |sv_get_backrefs|NN SV *const sv p |int |magic_killbackrefs|NN SV *sv|NN MAGIC *mg Ap |OP* |newANONATTRSUB |I32 floor|NULLOK OP *proto|NULLOK OP *attrs|NULLOK OP *block Am |CV* |newATTRSUB |I32 floor|NULLOK OP *o|NULLOK OP *proto|NULLOK OP *attrs|NULLOK OP *block -pX |CV* |newATTRSUB_x |I32 floor|NULLOK OP *o|NULLOK OP *proto \ +pdX |CV* |newATTRSUB_x |I32 floor|NULLOK OP *o|NULLOK OP *proto \ |NULLOK OP *attrs|NULLOK OP *block \ |bool o_is_gv Ap |CV * |newMYSUB |I32 floor|NN OP *o|NULLOK OP *proto \ @@ -2053,12 +2095,12 @@ Adp |int |nothreadhook p |void |init_constants #if defined(PERL_IN_DOOP_C) -sR |I32 |do_trans_simple |NN SV * const sv -sR |I32 |do_trans_count |NN SV * const sv -sR |I32 |do_trans_complex |NN SV * const sv -sR |I32 |do_trans_simple_utf8 |NN SV * const sv -sR |I32 |do_trans_count_utf8 |NN SV * const sv -sR |I32 |do_trans_complex_utf8 |NN SV * const sv +sR |Size_t |do_trans_simple |NN SV * const sv +sR |Size_t |do_trans_count |NN SV * const sv +sR |Size_t |do_trans_complex |NN SV * const sv +sR |Size_t |do_trans_simple_utf8 |NN SV * const sv +sR |Size_t |do_trans_count_utf8 |NN SV * const sv +sR |Size_t |do_trans_complex_utf8 |NN SV * const sv #endif #if defined(PERL_IN_GV_C) @@ -2206,17 +2248,17 @@ pRxo |GV* |softref2xv |NN SV *const sv|NN const char *const what \ #endif #if defined(PERL_IN_PP_PACK_C) -s |I32 |unpack_rec |NN struct tempsym* symptr|NN const char *s \ +s |SSize_t|unpack_rec |NN struct tempsym* symptr|NN const char *s \ |NN const char *strbeg|NN const char *strend|NULLOK const char **new_s s |SV ** |pack_rec |NN SV *cat|NN struct tempsym* symptr|NN SV **beglist|NN SV **endlist s |SV* |mul128 |NN SV *sv|U8 m -s |I32 |measure_struct |NN struct tempsym* symptr +s |SSize_t|measure_struct |NN struct tempsym* symptr s |bool |next_symbol |NN struct tempsym* symptr sR |SV* |is_an_int |NN const char *s|STRLEN l s |int |div128 |NN SV *pnum|NN bool *done s |const char *|group_end |NN const char *patptr|NN const char *patend \ |char ender -sR |const char *|get_num |NN const char *patptr|NN I32 *lenptr +sR |const char *|get_num |NN const char *patptr|NN SSize_t *lenptr ns |bool |need_utf8 |NN const char *pat|NN const char *patend ns |char |first_symbol |NN const char *pat|NN const char *patend sR |char * |sv_exp_grow |NN SV *sv|STRLEN needed @@ -2269,7 +2311,6 @@ s |I32 |amagic_cmp_locale|NN SV *const str1|NN SV *const str2 s |I32 |sortcv |NN SV *const a|NN SV *const b s |I32 |sortcv_xsub |NN SV *const a|NN SV *const b s |I32 |sortcv_stacked |NN SV *const a|NN SV *const b -s |void |qsortsvu |NULLOK SV** array|size_t num_elts|NN SVCOMPARE_t compare #endif #if defined(PERL_IN_PP_SYS_C) @@ -2416,6 +2457,7 @@ Es |SSize_t|study_chunk |NN RExC_state_t *pRExC_state \ |I32 stopparen|U32 recursed_depth \ |NULLOK regnode_ssc *and_withp \ |U32 flags|U32 depth +EsR |SV * |get_ANYOFM_contents|NN const regnode * n EsRn |U32 |add_data |NN RExC_state_t* const pRExC_state \ |NN const char* const s|const U32 n rs |void |re_croak2 |bool utf8|NN const char* pat1|NN const char* pat2|... @@ -2448,7 +2490,7 @@ Es |const regnode*|dumpuntil|NN const regexp *r|NN const regnode *start \ |NN SV* sv|I32 indent|U32 depth Es |void |put_code_point |NN SV* sv|UV c Es |bool |put_charclass_bitmap_innards|NN SV* sv \ - |NN char* bitmap \ + |NULLOK char* bitmap \ |NULLOK SV* nonbitmap_invlist \ |NULLOK SV* only_utf8_locale_invlist\ |NULLOK const regnode * const node \ @@ -2489,6 +2531,14 @@ ERp |bool |_is_grapheme |NN const U8 * strbeg|NN const U8 * s|NN const U8 *stren #if defined(PERL_IN_REGEXEC_C) ERs |bool |isFOO_utf8_lc |const U8 classnum|NN const U8* character +ERns |char *|find_next_ascii|NN char* s|NN const char * send|const bool is_utf8 +ERns |char *|find_next_non_ascii|NN char* s|NN const char * send|const bool is_utf8 +ERns |char * |find_next_masked|NN char * s \ + |NN const char * send \ + |const U8 byte|const U8 mask +ERns |char *|find_span_end |NN char* s|NN const char * send|const char span_byte +ERns |U8 *|find_span_end_mask|NN U8 * s|NN const U8 * send \ + |const U8 span_byte|const U8 mask ERs |SSize_t|regmatch |NN regmatch_info *reginfo|NN char *startpos|NN regnode *prog WERs |I32 |regrepeat |NN regexp *prog|NN char **startposp \ |NN const regnode *p \ @@ -2688,7 +2738,7 @@ s |void |incline |NN const char *s|NN const char *end s |int |intuit_method |NN char *s|NULLOK SV *ioname|NULLOK CV *cv s |int |intuit_more |NN char *s|NN char *e s |I32 |lop |I32 f|U8 x|NN char *s -rs |void |missingterm |NULLOK char *s|const STRLEN len +rs |void |missingterm |NULLOK char *s|STRLEN len s |void |no_op |NN const char *const what|NULLOK char *s s |int |pending_ident sR |I32 |sublex_done @@ -2704,7 +2754,8 @@ so |SV* |new_constant |NULLOK const char *s|STRLEN len \ s |int |ao |int toketype s |void|parse_ident|NN char **s|NN char **d \ |NN char * const e|int allow_package \ - |bool is_utf8|bool check_dollar + |bool is_utf8|bool check_dollar \ + |bool tick_warn # if defined(PERL_CR_FILTER) s |I32 |cr_textfilter |int idx|NULLOK SV *sv|int maxlen s |void |strip_return |NN SV *sv @@ -2723,6 +2774,7 @@ s |bool |isa_lookup |NN HV *stash|NN const char * const name \ #endif #if defined(PERL_IN_LOCALE_C) +sn |const char*|category_name |const int category # ifdef HAS_NL_LANGINFO sn |const char*|my_nl_langinfo|const nl_item item|bool toggle # else @@ -3057,6 +3109,9 @@ Apnod |Size_t |my_strlcpy |NULLOK char *dst|NULLOK const char *src|Size_t si Apnod |Size_t |my_strnlen |NN const char *str|Size_t maxlen #endif +#ifndef HAS_MKOSTEMP +pno |int |my_mkostemp |NN char *templte|int flags +#endif #ifndef HAS_MKSTEMP pno |int |my_mkstemp |NN char *templte #endif