X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=embed.fnc;h=7320b9f30e0f50caa7dc870ef32e4a692792c355;hb=b2a156bd8e464af88881c77344280160fd844dcf;hp=086eb6900fd5fd7b79a9e14e0c7ae4adb712fc2f;hpb=11bcd5dad4f9d911a9454f9d858c2dd0d14ddf2a;p=p5sagit%2Fp5-mst-13.2.git diff --git a/embed.fnc b/embed.fnc index 086eb69..7320b9f 100644 --- a/embed.fnc +++ b/embed.fnc @@ -188,7 +188,7 @@ pmb |bool |do_aexec |NULLOK SV* really|NN SV** mark|NN SV** sp p |bool |do_aexec5 |NULLOK SV* really|NN SV** mark|NN SV** sp|int fd|int do_report Ap |int |do_binmode |NN PerlIO *fp|int iotype|int mode p |void |do_chop |NN SV* asv|NN SV* sv -Ap |bool |do_close |NN GV* gv|bool not_implicit +Ap |bool |do_close |NULLOK GV* gv|bool not_implicit p |bool |do_eof |NN GV* gv #ifdef PERL_DEFAULT_DO_EXEC3_IMPLEMENTATION @@ -206,6 +206,9 @@ Ap |int |do_spawn_nowait|NN char* cmd p |bool |do_exec3 |NN const char* cmd|int fd|int do_report #endif p |void |do_execfree +#ifdef PERL_IN_DOIO_C +s |void |exec_failed |NN const char *cmd|int fd|int do_report +#endif #if defined(HAS_MSG) || defined(HAS_SEM) || defined(HAS_SHM) p |I32 |do_ipcctl |I32 optype|NN SV** mark|NN SV** sp p |I32 |do_ipcget |I32 optype|NN SV** mark|NN SV** sp @@ -269,7 +272,7 @@ Ap |GV* |gv_AVadd |NN GV* gv Ap |GV* |gv_HVadd |NN GV* gv Ap |GV* |gv_IOadd |NN GV* gv ApR |GV* |gv_autoload4 |NULLOK HV* stash|NN const char* name|STRLEN len|I32 method -Ap |void |gv_check |NN HV* stash +Ap |void |gv_check |NN const HV* stash Ap |void |gv_efullname |NN SV* sv|NN const GV* gv Apmb |void |gv_efullname3 |NN SV* sv|NN const GV* gv|NULLOK const char* prefix Ap |void |gv_efullname4 |NN SV* sv|NN const GV* gv|NULLOK const char* prefix|bool keepmain @@ -312,7 +315,7 @@ XEpoM |SV * |refcounted_he_fetch|NN const struct refcounted_he *chain \ |NULLOK SV *keysv|NULLOK const char *key \ |STRLEN klen, int flags, U32 hash dpoM |void |refcounted_he_free|NULLOK struct refcounted_he *he -dpoM |struct refcounted_he *|refcounted_he_new \ +XEdpoM |struct refcounted_he *|refcounted_he_new \ |NULLOK struct refcounted_he *const parent \ |NULLOK SV *const key|NULLOK SV *const value Apd |SV** |hv_store |NULLOK HV* tb|NULLOK const char* key|I32 klen|NULLOK SV* val \ @@ -392,7 +395,7 @@ ApR |bool |is_utf8_punct |NN const U8 *p ApR |bool |is_utf8_xdigit |NN const U8 *p ApR |bool |is_utf8_mark |NN const U8 *p p |OP* |jmaybe |NN OP* arg -pP |I32 |keyword |NN const char* d|I32 len +pP |I32 |keyword |NN const char* d|I32 len|bool all_keywords Ap |void |leave_scope |I32 base p |void |lex_end p |void |lex_start |NN SV* line @@ -417,7 +420,7 @@ p |int |magic_clear_all_env|NN SV* sv|NN MAGIC* mg dp |int |magic_clearhint|NN SV* sv|NN MAGIC* mg p |int |magic_clearpack|NN SV* sv|NN MAGIC* mg p |int |magic_clearsig |NN SV* sv|NN MAGIC* mg -p |int |magic_existspack|NN SV* sv|NN MAGIC* mg +p |int |magic_existspack|NN SV* sv|NN const MAGIC* mg p |int |magic_freeregexp|NN SV* sv|NN MAGIC* mg p |int |magic_freeovrld|NN SV* sv|NN MAGIC* mg p |int |magic_get |NN SV* sv|NN MAGIC* mg @@ -806,6 +809,7 @@ Apd |int |getcwd_sv |NN SV* sv Apd |void |sv_dec |NN SV* sv Ap |void |sv_dump |NN SV* sv ApdR |bool |sv_derived_from|NN SV* sv|NN const char* name +ApdR |bool |sv_does |NN SV* sv|NN const char* name Apd |I32 |sv_eq |NULLOK SV* sv1|NULLOK SV* sv2 Apd |void |sv_free |NULLOK SV* sv poMX |void |sv_free2 |NN SV* sv @@ -859,7 +863,7 @@ Apd |int |sv_unmagic |NN SV* sv|int type Apdmb |void |sv_unref |NN SV* sv Apd |void |sv_unref_flags |NN SV* sv|U32 flags Apd |void |sv_untaint |NN SV* sv -Apd |void |sv_upgrade |NN SV* sv|U32 mt +Apd |void |sv_upgrade |NN SV* sv|svtype new_type Apdmb |void |sv_usepvn |NN SV* sv|NULLOK char* ptr|STRLEN len Apd |void |sv_usepvn_flags|NN SV* sv|NULLOK char* ptr|STRLEN len\ |U32 flags @@ -976,8 +980,17 @@ Apd |void |sv_setpvn_mg |NN SV *sv|NN const char *ptr|STRLEN len Apd |void |sv_setsv_mg |NN SV *dstr|NULLOK SV *sstr Apdbm |void |sv_usepvn_mg |NN SV *sv|NULLOK char *ptr|STRLEN len ApR |MGVTBL*|get_vtbl |int vtbl_id -Ap |char* |pv_display |NN SV *dsv|NN const char *pv|STRLEN cur|STRLEN len \ +Apd |char* |pv_display |NN SV *dsv|NN const char *pv|STRLEN cur|STRLEN len \ |STRLEN pvlim +Apd |char* |pv_escape |NN SV *dsv|NN char const * const str\ + |const STRLEN count|const STRLEN max\ + |NULLOK STRLEN * const escaped\ + |const U32 flags +Apd |char* |pv_pretty |NN SV *dsv|NN char const * const str\ + |const STRLEN count|const STRLEN max\ + |NULLOK char const * const start_color\ + |NULLOK char const * const end_color\ + |const U32 flags Afp |void |dump_indent |I32 level|NN PerlIO *file|NN const char* pat|... Ap |void |dump_vindent |I32 level|NN PerlIO *file|NN const char* pat \ |NULLOK va_list *args @@ -1090,6 +1103,7 @@ sanR |HEK* |save_hek_flags |NN const char *str|I32 len|U32 hash|int flags sn |void |hv_magic_check |NN HV *hv|NN bool *needs_copy|NN bool *needs_store s |void |unshare_hek_or_pvn|NULLOK const HEK* hek|NULLOK const char* str|I32 len|U32 hash sR |HEK* |share_hek_flags|NN const char* sv|I32 len|U32 hash|int flags +sR |SV* |hv_magic_uvar_xkey|NN HV* hv|NN SV* keysv|int action rs |void |hv_notallowed |int flags|NN const char *key|I32 klen|NN const char *msg sn |struct xpvhv_aux*|hv_auxinit|NN HV *hv sM |SV* |hv_delete_common|NULLOK HV* tb|NULLOK SV* keysv|NULLOK const char* key \ @@ -1228,7 +1242,7 @@ sR |const char *|get_num |NN const char *ppat|NN I32 *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 -sR |char * |bytes_to_uni |NN const U8 *start|STRLEN len|NN char *dest +snR |char * |bytes_to_uni |NN const U8 *start|STRLEN len|NN char *dest #endif #if defined(PERL_IN_PP_CTL_C) || defined(PERL_DECL_PROT) @@ -1272,6 +1286,7 @@ s |I32 |amagic_cmp_locale|NN SV *a|NN SV *b s |I32 |sortcv |NN SV *a|NN SV *b s |I32 |sortcv_xsub |NN SV *a|NN SV *b s |I32 |sortcv_stacked |NN SV *a|NN SV *b +s |void |qsortsvu |NN SV** array|size_t num_elts|NN SVCOMPARE_t compare #endif #if defined(PERL_IN_PP_SYS_C) || defined(PERL_DECL_PROT) @@ -1284,26 +1299,22 @@ s |SV * |space_join_names_mortal|NN char *const *array #endif #if defined(PERL_IN_REGCOMP_C) || defined(PERL_DECL_PROT) -Es |regnode*|reg |NN struct RExC_state_t *state|I32 paren|NN I32 *flagp +Es |regnode*|reg |NN struct RExC_state_t *state|I32 paren|NN I32 *flagp|U32 depth Es |regnode*|reganode |NN struct RExC_state_t *state|U8 op|U32 arg -Es |regnode*|regatom |NN struct RExC_state_t *state|NN I32 *flagp -Es |regnode*|regbranch |NN struct RExC_state_t *state|NN I32 *flagp|I32 first +Es |regnode*|regatom |NN struct RExC_state_t *state|NN I32 *flagp|U32 depth +Es |regnode*|regbranch |NN struct RExC_state_t *state|NN I32 *flagp|I32 first|U32 depth Es |STRLEN |reguni |NN const struct RExC_state_t *state|UV uv|NN char *s -Es |regnode*|regclass |NN struct RExC_state_t *state +Es |regnode*|regclass |NN struct RExC_state_t *state|U32 depth ERsn |I32 |regcurly |NN const char * Es |regnode*|reg_node |NN struct RExC_state_t *state|U8 op -Es |regnode*|regpiece |NN struct RExC_state_t *state|NN I32 *flagp +Es |regnode*|regpiece |NN struct RExC_state_t *state|NN I32 *flagp|U32 depth +Es |regnode*|reg_namedseq |NN struct RExC_state_t *state|NULLOK UV *valuep Es |void |reginsert |NN struct RExC_state_t *state|U8 op|NN regnode *opnd -Es |void |regtail |NN const struct RExC_state_t *state|NN regnode *p|NN const regnode *val +Es |void |regtail |NN struct RExC_state_t *state|NN regnode *p|NN const regnode *val|U32 depth +Es |U32 |join_exact |NN struct RExC_state_t *state|NN regnode *scan|NN I32 *min|U32 flags|NULLOK regnode *val|U32 depth EsRn |char* |regwhite |NN char *p|NN const char *e Es |char* |nextchar |NN struct RExC_state_t *state -# ifdef DEBUGGING -Es |const regnode*|dumpuntil|NN const regexp *r|NN const regnode *start \ - |NN const regnode *node \ - |NULLOK const regnode *last|NN SV* sv|I32 l -Es |void |put_byte |NN SV* sv|int c -# endif -Es |void |scan_commit |NN const struct RExC_state_t* state|NN struct scan_data_t *data +Es |void |scan_commit |NN const struct RExC_state_t* state|NN struct scan_data_t *data|NN I32 *minlenp Esn |void |cl_anything |NN const struct RExC_state_t* state|NN struct regnode_charclass_class *cl EsRn |int |cl_is_anything |NN const struct regnode_charclass_class *cl Esn |void |cl_init |NN const struct RExC_state_t* state|NN struct regnode_charclass_class *cl @@ -1313,16 +1324,30 @@ Esn |void |cl_and |NN struct regnode_charclass_class *cl \ Esn |void |cl_or |NN const struct RExC_state_t* state|NN struct regnode_charclass_class *cl \ |NN const struct regnode_charclass_class *or_with Es |I32 |study_chunk |NN struct RExC_state_t* state|NN regnode **scanp \ - |NN I32 *deltap|NN regnode *last|NULLOK struct scan_data_t *data \ + |NN I32 *minlenp|NN I32 *deltap \ + |NN regnode *last|NULLOK struct scan_data_t *data \ |U32 flags|U32 depth EsRn |I32 |add_data |NN struct RExC_state_t* state|I32 n|NN const char *s rs |void |re_croak2 |NN const char* pat1|NN const char* pat2|... Es |I32 |regpposixcc |NN struct RExC_state_t* state|I32 value Es |void |checkposixcc |NN struct RExC_state_t* state - Es |I32 |make_trie |NN struct RExC_state_t* state|NN regnode *startbranch \ |NN regnode *first|NN regnode *last|NN regnode *tail \ - |U32 flags + |U32 word_count|U32 flags|U32 depth +Es |void |make_trie_failtable |NN struct RExC_state_t* state \ + |NN regnode *source|NN regnode *node|U32 depth +# ifdef DEBUGGING +Es |const regnode*|dumpuntil|NN const regexp *r|NN const regnode *start \ + |NN const regnode *node \ + |NULLOK const regnode *last \ + |NULLOK const regnode *plast \ + |NN SV* sv|I32 indent|U32 depth +Es |void |put_byte |NN SV* sv|int c +Es |void |dump_trie |NN const struct _reg_trie_data *trie|U32 depth +Es |void |dump_trie_interim_list|NN const struct _reg_trie_data *trie|U32 next_alloc|U32 depth +Es |void |dump_trie_interim_table|NN const struct _reg_trie_data *trie|U32 next_alloc|U32 depth +Es |U8 |regtail_study |NN struct RExC_state_t *state|NN regnode *p|NN const regnode *val|U32 depth +# endif #endif #if defined(PERL_IN_REGEXEC_C) || defined(PERL_DECL_PROT) @@ -1334,10 +1359,16 @@ ERs |bool |reginclass |NULLOK const regexp *prog|NN const regnode *n|NN const U8 Es |CHECKPOINT|regcppush |I32 parenfloor Es |char* |regcppop |NN const regexp *rex ERsn |U8* |reghop3 |NN U8 *pos|I32 off|NN const U8 *lim +ERsn |U8* |reghop4 |NN U8 *pos|I32 off|NN const U8 *llim|NN const U8 *rlim ERsn |U8* |reghopmaybe3 |NN U8 *pos|I32 off|NN const U8 *lim ERs |char* |find_byclass |NN regexp * prog|NN const regnode *c|NN char *s|NN const char *strend|NULLOK const regmatch_info *reginfo Es |void |to_utf8_substr |NN regexp * prog Es |void |to_byte_substr |NN regexp * prog +# ifdef DEBUGGING +Es |void |dump_exec_pos |NN const char *locinput|NN const regnode *scan|NN const char *loc_regeol\ + |NN const char *loc_bostr|NN const char *loc_reg_starttry|const bool do_utf8 +Es |void |debug_start_match|NN const regexp *prog|const bool do_utf8|NN const char *start|NN const char *end|NN const char *blurb +# endif #endif #if defined(PERL_IN_DUMP_C) || defined(PERL_DECL_PROT) @@ -1402,9 +1433,6 @@ s |void |glob_assign_ref|NN SV *dstr|NN SV *sstr # if defined(USE_ITHREADS) sRn |PTR_TBL_ENT_t *|ptr_table_find|NN PTR_TBL_t *tbl|NN const void *sv # endif -s |SV * |find_hash_subscript|NULLOK HV *hv|NN SV *val -s |I32 |find_array_subscript|NULLOK AV *av|NN SV *val -s |SV * |find_uninit_var|NULLOK OP *obase|NULLOK SV *uninit_sv|bool match #endif #if defined(PERL_IN_TOKE_C) || defined(PERL_DECL_PROT) @@ -1461,7 +1489,7 @@ s |void |printbuf |NN const char* fmt|NN const char* s #endif #if defined(PERL_IN_UNIVERSAL_C) || defined(PERL_DECL_PROT) -s |bool|isa_lookup |NULLOK HV *stash|NN const char *name|NULLOK HV *name_stash|int len|int level +s |bool|isa_lookup |NULLOK HV *stash|NN const char *name|NULLOK const HV * const name_stash|int len|int level #endif #if defined(PERL_IN_LOCALE_C) || defined(PERL_DECL_PROT) @@ -1504,7 +1532,7 @@ Apn |int |my_socketpair |int family|int type|int protocol|int fd[2] pMXE |SV* |sv_setsv_cow |NN SV* dsv|NN SV* ssv #endif -op |const char *|PerlIO_context_layers|NULLOK const char *mode +Aop |const char *|PerlIO_context_layers|NULLOK const char *mode #if defined(USE_PERLIO) && !defined(USE_SFIO) Ap |int |PerlIO_close |NULLOK PerlIO *f @@ -1588,7 +1616,10 @@ ApoR |I32 |hv_placeholders_get |NN HV* hv Apo |void |hv_placeholders_set |NN HV* hv|I32 ph p |SV* |magic_scalarpack|NN HV* hv|NN MAGIC* mg -#ifdef PERL_IN_SV_C + +#if defined(PERL_IN_SV_C) || defined(PERL_DECL_PROT) +s |SV * |find_hash_subscript|NULLOK HV *hv|NN SV *val +s |I32 |find_array_subscript|NULLOK AV *av|NN SV *val sMd |SV* |find_uninit_var|NULLOK OP* obase|NULLOK SV* uninit_sv|bool top #endif @@ -1692,7 +1723,7 @@ p |void |offer_nice_chunk |NN void *chunk|U32 chunk_size Apnod |int |my_sprintf |NN char *buffer|NN const char *pat|... #endif -Apnod |int |my_snprintf |NN char *buffer|const Size_t len|NN const char *format|... +Apnodf |int |my_snprintf |NN char *buffer|const Size_t len|NN const char *format|... Apnod |int |my_vsnprintf |NN char *buffer|const Size_t len|NN const char *format|va_list ap px |void |my_clearenv @@ -1701,6 +1732,14 @@ px |void |my_clearenv Apo |void* |my_cxt_init |NN int *index|size_t size #endif +#ifndef HAS_STRLCAT +Apno |Size_t |my_strlcat |NULLOK char *dst|NULLOK const char *src|Size_t size +#endif + +#ifndef HAS_STRLCPY +Apno |Size_t |my_strlcpy |NULLOK char *dst|NULLOK const char *src|Size_t size +#endif + #ifdef PERL_MAD Mnp |void |pad_peg |NN const char* s #if defined(PERL_IN_DUMP_C) || defined(PERL_DECL_PROT)