X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=proto.h;h=3bd1a61c02b795e35f063c13b051c649a1f43bbb;hb=80a5d8e74b5512d4ab704d0e83466ae41247ce55;hp=3de4e0a54aaca3897bf69bdb12924c1c28a6dde2;hpb=206947d2c0ace466f6b1e79f9bf44a86d72fb50d;p=p5sagit%2Fp5-mst-13.2.git diff --git a/proto.h b/proto.h index 3de4e0a..3bd1a61 100644 --- a/proto.h +++ b/proto.h @@ -201,6 +201,7 @@ PERL_CALLCONV I32 Perl_debstack(pTHX); PERL_CALLCONV I32 Perl_debstackptrs(pTHX); PERL_CALLCONV char* Perl_delimcpy(pTHX_ char* to, char* toend, char* from, char* fromend, int delim, I32* retlen); PERL_CALLCONV void Perl_deprecate(pTHX_ char* s); +PERL_CALLCONV void Perl_deprecate_old(pTHX_ char* s); PERL_CALLCONV OP* Perl_die(pTHX_ const char* pat, ...) #ifdef CHECK_FORMAT __attribute__((format(printf,pTHX_1,pTHX_2))) @@ -289,6 +290,7 @@ PERL_CALLCONV void Perl_gv_efullname3(pTHX_ SV* sv, GV* gv, const char* prefix); PERL_CALLCONV void Perl_gv_efullname4(pTHX_ SV* sv, GV* gv, const char* prefix, bool keepmain); PERL_CALLCONV GV* Perl_gv_fetchfile(pTHX_ const char* name); PERL_CALLCONV GV* Perl_gv_fetchmeth(pTHX_ HV* stash, const char* name, STRLEN len, I32 level); +PERL_CALLCONV GV* Perl_gv_fetchmeth_autoload(pTHX_ HV* stash, const char* name, STRLEN len, I32 level); PERL_CALLCONV GV* Perl_gv_fetchmethod(pTHX_ HV* stash, const char* name); PERL_CALLCONV GV* Perl_gv_fetchmethod_autoload(pTHX_ HV* stash, const char* name, I32 autoload); PERL_CALLCONV GV* Perl_gv_fetchpv(pTHX_ const char* name, I32 add, I32 sv_type); @@ -593,6 +595,16 @@ PERL_CALLCONV PerlIO* Perl_start_glob(pTHX_ SV* pattern, IO *io); #if defined(USE_5005THREADS) PERL_CALLCONV struct perl_thread* Perl_new_struct_thread(pTHX_ struct perl_thread *t); #endif +#if defined(USE_REENTRANT_API) +PERL_CALLCONV void Perl_reentrant_size(pTHX); +PERL_CALLCONV void Perl_reentrant_init(pTHX); +PERL_CALLCONV void Perl_reentrant_free(pTHX); +PERL_CALLCONV void* Perl_reentrant_retry(const char*, ...) +#ifdef CHECK_FORMAT + __attribute__((format(printf,1,2))) +#endif +; +#endif PERL_CALLCONV void Perl_call_atexit(pTHX_ ATEXIT_t fn, void *ptr); PERL_CALLCONV I32 Perl_call_argv(pTHX_ const char* sub_name, I32 flags, char** argv); PERL_CALLCONV I32 Perl_call_method(pTHX_ const char* methname, I32 flags); @@ -942,9 +954,9 @@ PERL_CALLCONV void Perl_reginitcolors(pTHX); PERL_CALLCONV char* Perl_sv_2pv_nolen(pTHX_ SV* sv); PERL_CALLCONV char* Perl_sv_2pvutf8_nolen(pTHX_ SV* sv); PERL_CALLCONV char* Perl_sv_2pvbyte_nolen(pTHX_ SV* sv); -PERL_CALLCONV char* Perl_sv_pv(pTHX_ SV *sv); -PERL_CALLCONV char* Perl_sv_pvutf8(pTHX_ SV *sv); -PERL_CALLCONV char* Perl_sv_pvbyte(pTHX_ SV *sv); +/* PERL_CALLCONV char* sv_pv(pTHX_ SV *sv); */ +/* PERL_CALLCONV char* sv_pvutf8(pTHX_ SV *sv); */ +/* PERL_CALLCONV char* sv_pvbyte(pTHX_ SV *sv); */ /* PERL_CALLCONV STRLEN sv_utf8_upgrade(pTHX_ SV *sv); */ PERL_CALLCONV bool Perl_sv_utf8_downgrade(pTHX_ SV *sv, bool fail_ok); PERL_CALLCONV void Perl_sv_utf8_encode(pTHX_ SV *sv); @@ -992,6 +1004,7 @@ PERL_CALLCONV char * Perl_custom_op_desc(pTHX_ OP* op); PERL_CALLCONV void Perl_sv_nosharing(pTHX_ SV *); PERL_CALLCONV void Perl_sv_nolocking(pTHX_ SV *); PERL_CALLCONV void Perl_sv_nounlocking(pTHX_ SV *); +PERL_CALLCONV int Perl_nothreadhook(pTHX); END_EXTERN_C @@ -1020,8 +1033,13 @@ STATIC void S_hfreeentries(pTHX_ HV *hv); STATIC void S_more_he(pTHX); STATIC HE* S_new_he(pTHX); STATIC void S_del_he(pTHX_ HE *p); -STATIC HEK* S_save_hek(pTHX_ const char *str, I32 len, U32 hash); +STATIC HEK* S_save_hek_flags(pTHX_ const char *str, I32 len, U32 hash, int flags); STATIC void S_hv_magic_check(pTHX_ HV *hv, bool *needs_copy, bool *needs_store); +STATIC void S_unshare_hek_or_pvn(pTHX_ HEK* hek, const char* sv, I32 len, U32 hash); +STATIC HEK* S_share_hek_flags(pTHX_ const char* sv, I32 len, U32 hash, int flags); +STATIC SV** S_hv_store_flags(pTHX_ HV* tb, const char* key, I32 klen, SV* val, U32 hash, int flags); +STATIC SV** S_hv_fetch_flags(pTHX_ HV* tb, const char* key, I32 klen, I32 lval, int flags); +STATIC void S_hv_notallowed(pTHX_ int flags, const char *key, I32 klen, const char *msg); #endif #if defined(PERL_IN_MG_C) || defined(PERL_DECL_PROT) @@ -1184,8 +1202,7 @@ STATIC I32 S_regmatch(pTHX_ regnode *prog); STATIC I32 S_regrepeat(pTHX_ regnode *p, I32 max); STATIC I32 S_regrepeat_hard(pTHX_ regnode *p, I32 max, I32 *lp); STATIC I32 S_regtry(pTHX_ regexp *prog, char *startpos); -STATIC bool S_reginclass(pTHX_ regnode *n, U8 *p, bool do_utf8sv_is_utf8); -STATIC bool S_reginclasslen(pTHX_ regnode *n, U8 *p, STRLEN *lenp, bool do_utf8sv_is_utf8); +STATIC bool S_reginclass(pTHX_ regnode *n, U8 *p, STRLEN *lenp, bool do_utf8sv_is_utf8); STATIC CHECKPOINT S_regcppush(pTHX_ I32 parenfloor); STATIC char* S_regcppop(pTHX); STATIC char* S_regcp_set_to(pTHX_ I32 ss); @@ -1195,6 +1212,8 @@ STATIC U8* S_reghop3(pTHX_ U8 *pos, I32 off, U8 *lim); STATIC U8* S_reghopmaybe(pTHX_ U8 *pos, I32 off); STATIC U8* S_reghopmaybe3(pTHX_ U8 *pos, I32 off, U8 *lim); STATIC char* S_find_byclass(pTHX_ regexp * prog, regnode *c, char *s, char *strend, char *startpos, I32 norun); +STATIC void S_to_utf8_substr(pTHX_ regexp * prog); +STATIC void S_to_byte_substr(pTHX_ regexp * prog); #endif #if defined(PERL_IN_DUMP_C) || defined(PERL_DECL_PROT) @@ -1308,9 +1327,6 @@ STATIC char* S_incl_perldb(pTHX); STATIC I32 S_utf16_textfilter(pTHX_ int idx, SV *sv, int maxlen); STATIC I32 S_utf16rev_textfilter(pTHX_ int idx, SV *sv, int maxlen); #endif -# if defined(CRIPPLED_CC) -STATIC int S_uni(pTHX_ I32 f, char *s); -# endif # if defined(PERL_CR_FILTER) STATIC I32 S_cr_textfilter(pTHX_ int idx, SV *sv, int maxlen); # endif @@ -1340,6 +1356,7 @@ PERL_CALLCONV void Perl_sv_catsv_flags(pTHX_ SV* dsv, SV* ssv, I32 flags); PERL_CALLCONV STRLEN Perl_sv_utf8_upgrade_flags(pTHX_ SV *sv, I32 flags); PERL_CALLCONV char* Perl_sv_pvn_force_flags(pTHX_ SV* sv, STRLEN* lp, I32 flags); PERL_CALLCONV char* Perl_sv_2pv_flags(pTHX_ SV* sv, STRLEN* lp, I32 flags); +PERL_CALLCONV void Perl_sv_copypv(pTHX_ SV* dsv, SV* ssv); PERL_CALLCONV char* Perl_my_atof2(pTHX_ const char *s, NV* value); PERL_CALLCONV int Perl_my_socketpair(int family, int type, int protocol, int fd[2]);