X-Git-Url: https://perl5.git.perl.org/perl5.git/blobdiff_plain/1be9d9c6b6c7b8f67a48645f860e0d26d513177a..9f82a64980942b22611342057ad38094f4b84b6f:/perlapi.c diff --git a/perlapi.c b/perlapi.c index 6cf5147..f7b16cd 100644 --- a/perlapi.c +++ b/perlapi.c @@ -41,6 +41,9 @@ START_EXTERN_C { return &(PL_##v); } #define PERLVARA(v,n,t) PL_##v##_t* Perl_##v##_ptr(pTHXo) \ { return &(PL_##v); } +#undef PERLVARIC +#define PERLVARIC(v,t,i) const t* Perl_##v##_ptr(pTHXo) \ + { return (const t *)&(PL_##v); } #include "perlvars.h" #undef PERLVAR @@ -53,7 +56,6 @@ START_EXTERN_C /* C-API layer for PERL_OBJECT */ #if defined(PERL_IMPLICIT_SYS) -#else #endif #if defined(USE_ITHREADS) # if defined(PERL_IMPLICIT_SYS) @@ -83,6 +85,13 @@ Perl_Gv_AMupdate(pTHXo_ HV* stash) return ((CPerlObj*)pPerl)->Perl_Gv_AMupdate(stash); } +#undef Perl_apply_attrs_string +void +Perl_apply_attrs_string(pTHXo_ char *stashpv, CV *cv, char *attrstr, STRLEN len) +{ + ((CPerlObj*)pPerl)->Perl_apply_attrs_string(stashpv, cv, attrstr, len); +} + #undef Perl_avhv_delete_ent SV* Perl_avhv_delete_ent(pTHXo_ AV *ar, SV* keysv, I32 flags, U32 hash) @@ -104,6 +113,13 @@ Perl_avhv_fetch_ent(pTHXo_ AV *ar, SV* keysv, I32 lval, U32 hash) return ((CPerlObj*)pPerl)->Perl_avhv_fetch_ent(ar, keysv, lval, hash); } +#undef Perl_avhv_store_ent +SV** +Perl_avhv_store_ent(pTHXo_ AV *ar, SV* keysv, SV* val, U32 hash) +{ + return ((CPerlObj*)pPerl)->Perl_avhv_store_ent(ar, keysv, val, hash); +} + #undef Perl_avhv_iternext HE* Perl_avhv_iternext(pTHXo_ AV *ar) @@ -153,13 +169,6 @@ Perl_av_extend(pTHXo_ AV* ar, I32 key) ((CPerlObj*)pPerl)->Perl_av_extend(ar, key); } -#undef Perl_av_fake -AV* -Perl_av_fake(pTHXo_ I32 size, SV** svp) -{ - return ((CPerlObj*)pPerl)->Perl_av_fake(size, svp); -} - #undef Perl_av_fetch SV** Perl_av_fetch(pTHXo_ AV* ar, I32 key, I32 lval) @@ -202,13 +211,6 @@ Perl_av_push(pTHXo_ AV* ar, SV* val) ((CPerlObj*)pPerl)->Perl_av_push(ar, val); } -#undef Perl_av_reify -void -Perl_av_reify(pTHXo_ AV* ar) -{ - ((CPerlObj*)pPerl)->Perl_av_reify(ar); -} - #undef Perl_av_shift SV* Perl_av_shift(pTHXo_ AV* ar) @@ -365,6 +367,17 @@ Perl_form_nocontext(const char* pat, ...) } +#undef Perl_load_module_nocontext +void +Perl_load_module_nocontext(U32 flags, SV* name, SV* ver, ...) +{ + dTHXo; + va_list args; + va_start(args, ver); + ((CPerlObj*)pPerl)->Perl_vload_module(flags, name, ver, &args); + va_end(args); +} + #undef Perl_mess_nocontext SV* Perl_mess_nocontext(const char* pat, ...) @@ -462,6 +475,20 @@ Perl_sv_setpvf_mg_nocontext(SV* sv, const char* pat, ...) #undef Perl_fprintf_nocontext #endif +#undef Perl_cv_const_sv +SV* +Perl_cv_const_sv(pTHXo_ CV* cv) +{ + return ((CPerlObj*)pPerl)->Perl_cv_const_sv(cv); +} + +#undef Perl_cv_undef +void +Perl_cv_undef(pTHXo_ CV* cv) +{ + ((CPerlObj*)pPerl)->Perl_cv_undef(cv); +} + #undef Perl_cx_dump void Perl_cx_dump(pTHXo_ PERL_CONTEXT* cs) @@ -585,15 +612,29 @@ Perl_dounwind(pTHXo_ I32 cxix) #undef Perl_do_binmode int -Perl_do_binmode(pTHXo_ PerlIO *fp, int iotype, int flag) +Perl_do_binmode(pTHXo_ PerlIO *fp, int iotype, int mode) { - return ((CPerlObj*)pPerl)->Perl_do_binmode(fp, iotype, flag); + return ((CPerlObj*)pPerl)->Perl_do_binmode(fp, iotype, mode); +} + +#undef Perl_do_close +bool +Perl_do_close(pTHXo_ GV* gv, bool not_implicit) +{ + return ((CPerlObj*)pPerl)->Perl_do_close(gv, not_implicit); } #if !defined(WIN32) #endif #if defined(HAS_MSG) || defined(HAS_SEM) || defined(HAS_SHM) #endif +#undef Perl_do_join +void +Perl_do_join(pTHXo_ SV* sv, SV* del, SV** mark, SV** sp) +{ + ((CPerlObj*)pPerl)->Perl_do_join(sv, del, mark, sp); +} + #undef Perl_do_open bool Perl_do_open(pTHXo_ GV* gv, char* name, I32 len, int as_raw, int rawmode, int rawperm, PerlIO* supplied_fp) @@ -1271,6 +1312,20 @@ Perl_to_uni_lower_lc(pTHXo_ U32 c) return ((CPerlObj*)pPerl)->Perl_to_uni_lower_lc(c); } +#undef Perl_is_utf8_char +int +Perl_is_utf8_char(pTHXo_ U8 *p) +{ + return ((CPerlObj*)pPerl)->Perl_is_utf8_char(p); +} + +#undef Perl_is_utf8_string +bool +Perl_is_utf8_string(pTHXo_ U8 *s, STRLEN len) +{ + return ((CPerlObj*)pPerl)->Perl_is_utf8_string(s, len); +} + #undef Perl_is_utf8_alnum bool Perl_is_utf8_alnum(pTHXo_ U8 *p) @@ -1383,6 +1438,23 @@ Perl_leave_scope(pTHXo_ I32 base) ((CPerlObj*)pPerl)->Perl_leave_scope(base); } +#undef Perl_load_module +void +Perl_load_module(pTHXo_ U32 flags, SV* name, SV* ver, ...) +{ + va_list args; + va_start(args, ver); + ((CPerlObj*)pPerl)->Perl_vload_module(flags, name, ver, &args); + va_end(args); +} + +#undef Perl_vload_module +void +Perl_vload_module(pTHXo_ U32 flags, SV* name, SV* ver, va_list* args) +{ + ((CPerlObj*)pPerl)->Perl_vload_module(flags, name, ver, args); +} + #undef Perl_looks_like_number I32 Perl_looks_like_number(pTHXo_ SV* sv) @@ -1901,6 +1973,13 @@ Perl_newSViv(pTHXo_ IV i) return ((CPerlObj*)pPerl)->Perl_newSViv(i); } +#undef Perl_newSVuv +SV* +Perl_newSVuv(pTHXo_ UV u) +{ + return ((CPerlObj*)pPerl)->Perl_newSVuv(u); +} + #undef Perl_newSVnv SV* Perl_newSVnv(pTHXo_ NV n) @@ -2212,6 +2291,13 @@ Perl_regdump(pTHXo_ regexp* r) ((CPerlObj*)pPerl)->Perl_regdump(r); } +#undef Perl_pregexec +I32 +Perl_pregexec(pTHXo_ regexp* prog, char* stringarg, char* strend, char* strbeg, I32 minend, SV* screamer, U32 nosave) +{ + return ((CPerlObj*)pPerl)->Perl_pregexec(prog, stringarg, strend, strbeg, minend, screamer, nosave); +} + #undef Perl_pregfree void Perl_pregfree(pTHXo_ struct regexp* r) @@ -2267,6 +2353,13 @@ Perl_rninstr(pTHXo_ const char* big, const char* bigend, const char* little, con { return ((CPerlObj*)pPerl)->Perl_rninstr(big, bigend, little, lend); } + +#undef Perl_rsignal +Sighandler_t +Perl_rsignal(pTHXo_ int i, Sighandler_t t) +{ + return ((CPerlObj*)pPerl)->Perl_rsignal(i, t); +} #if !defined(HAS_RENAME) #endif @@ -2368,6 +2461,13 @@ Perl_save_generic_svref(pTHXo_ SV** sptr) ((CPerlObj*)pPerl)->Perl_save_generic_svref(sptr); } +#undef Perl_save_generic_pvref +void +Perl_save_generic_pvref(pTHXo_ char** str) +{ + ((CPerlObj*)pPerl)->Perl_save_generic_pvref(str); +} + #undef Perl_save_gp void Perl_save_gp(pTHXo_ GV* gv, I32 empty) @@ -3134,6 +3234,13 @@ Perl_sv_vsetpvfn(pTHXo_ SV* sv, const char* pat, STRLEN patlen, va_list* args, S ((CPerlObj*)pPerl)->Perl_sv_vsetpvfn(sv, pat, patlen, args, svargs, svmax, maybe_tainted); } +#undef Perl_str_to_version +NV +Perl_str_to_version(pTHXo_ SV *sv) +{ + return ((CPerlObj*)pPerl)->Perl_str_to_version(sv); +} + #undef Perl_swash_init SV* Perl_swash_init(pTHXo_ char* pkg, char* name, SV* listsv, I32 minbits, I32 none) @@ -3210,16 +3317,16 @@ Perl_unsharepvn(pTHXo_ const char* sv, I32 len, U32 hash) #undef Perl_utf16_to_utf8 U8* -Perl_utf16_to_utf8(pTHXo_ U16* p, U8 *d, I32 bytelen) +Perl_utf16_to_utf8(pTHXo_ U8* p, U8 *d, I32 bytelen, I32 *newlen) { - return ((CPerlObj*)pPerl)->Perl_utf16_to_utf8(p, d, bytelen); + return ((CPerlObj*)pPerl)->Perl_utf16_to_utf8(p, d, bytelen, newlen); } #undef Perl_utf16_to_utf8_reversed U8* -Perl_utf16_to_utf8_reversed(pTHXo_ U16* p, U8 *d, I32 bytelen) +Perl_utf16_to_utf8_reversed(pTHXo_ U8* p, U8 *d, I32 bytelen, I32 *newlen) { - return ((CPerlObj*)pPerl)->Perl_utf16_to_utf8_reversed(p, d, bytelen); + return ((CPerlObj*)pPerl)->Perl_utf16_to_utf8_reversed(p, d, bytelen, newlen); } #undef Perl_utf8_distance @@ -3236,6 +3343,20 @@ Perl_utf8_hop(pTHXo_ U8 *s, I32 off) return ((CPerlObj*)pPerl)->Perl_utf8_hop(s, off); } +#undef Perl_utf8_to_bytes +U8* +Perl_utf8_to_bytes(pTHXo_ U8 *s, STRLEN len) +{ + return ((CPerlObj*)pPerl)->Perl_utf8_to_bytes(s, len); +} + +#undef Perl_bytes_to_utf8 +U8* +Perl_bytes_to_utf8(pTHXo_ U8 *s, STRLEN *len) +{ + return ((CPerlObj*)pPerl)->Perl_bytes_to_utf8(s, len); +} + #undef Perl_utf8_to_uv UV Perl_utf8_to_uv(pTHXo_ U8 *s, I32* retlen) @@ -3283,6 +3404,13 @@ Perl_vwarner(pTHXo_ U32 err, const char* pat, va_list* args) { ((CPerlObj*)pPerl)->Perl_vwarner(err, pat, args); } + +#undef Perl_whichsig +I32 +Perl_whichsig(pTHXo_ char* sig) +{ + return ((CPerlObj*)pPerl)->Perl_whichsig(sig); +} #if defined(USE_PURE_BISON) #else #endif @@ -3294,6 +3422,13 @@ Perl_dump_mstats(pTHXo_ char* s) { ((CPerlObj*)pPerl)->Perl_dump_mstats(s); } + +#undef Perl_get_mstats +int +Perl_get_mstats(pTHXo_ perl_mstats_t *buf, int buflen, int level) +{ + return ((CPerlObj*)pPerl)->Perl_get_mstats(buf, buflen, level); +} #endif #undef Perl_safesysmalloc @@ -3384,6 +3519,15 @@ Perl_runops_debug(pTHXo) { return ((CPerlObj*)pPerl)->Perl_runops_debug(); } +#if defined(USE_THREADS) + +#undef Perl_sv_lock +SV* +Perl_sv_lock(pTHXo_ SV *sv) +{ + return ((CPerlObj*)pPerl)->Perl_sv_lock(sv); +} +#endif #undef Perl_sv_catpvf_mg void @@ -3575,6 +3719,7 @@ Perl_magic_dump(pTHXo_ MAGIC *mg) { ((CPerlObj*)pPerl)->Perl_magic_dump(mg); } +#if defined(PERL_FLEXIBLE_EXCEPTIONS) #undef Perl_default_protect void* @@ -3595,6 +3740,7 @@ Perl_vdefault_protect(pTHXo_ volatile JMPENV *je, int *excpt, protect_body_t bod { return ((CPerlObj*)pPerl)->Perl_vdefault_protect(je, excpt, body, args); } +#endif #undef Perl_reginitcolors void @@ -3645,6 +3791,34 @@ Perl_sv_pvbyte(pTHXo_ SV *sv) return ((CPerlObj*)pPerl)->Perl_sv_pvbyte(sv); } +#undef Perl_sv_utf8_upgrade +void +Perl_sv_utf8_upgrade(pTHXo_ SV *sv) +{ + ((CPerlObj*)pPerl)->Perl_sv_utf8_upgrade(sv); +} + +#undef Perl_sv_utf8_downgrade +bool +Perl_sv_utf8_downgrade(pTHXo_ SV *sv, bool fail_ok) +{ + return ((CPerlObj*)pPerl)->Perl_sv_utf8_downgrade(sv, fail_ok); +} + +#undef Perl_sv_utf8_encode +void +Perl_sv_utf8_encode(pTHXo_ SV *sv) +{ + ((CPerlObj*)pPerl)->Perl_sv_utf8_encode(sv); +} + +#undef Perl_sv_utf8_decode +bool +Perl_sv_utf8_decode(pTHXo_ SV *sv) +{ + return ((CPerlObj*)pPerl)->Perl_sv_utf8_decode(sv); +} + #undef Perl_sv_force_normal void Perl_sv_force_normal(pTHXo_ SV *sv) @@ -3802,6 +3976,22 @@ Perl_ptr_table_split(pTHXo_ PTR_TBL_t *tbl) ((CPerlObj*)pPerl)->Perl_ptr_table_split(tbl); } #endif +#if defined(HAVE_INTERP_INTERN) + +#undef Perl_sys_intern_clear +void +Perl_sys_intern_clear(pTHXo) +{ + ((CPerlObj*)pPerl)->Perl_sys_intern_clear(); +} + +#undef Perl_sys_intern_init +void +Perl_sys_intern_init(pTHXo) +{ + ((CPerlObj*)pPerl)->Perl_sys_intern_init(); +} +#endif #if defined(PERL_OBJECT) #else #endif @@ -3822,12 +4012,16 @@ Perl_ptr_table_split(pTHXo_ PTR_TBL_t *tbl) #if defined(PERL_IN_PERL_C) || defined(PERL_DECL_PROT) # if defined(IAMSUID) # endif +#if defined(PERL_FLEXIBLE_EXCEPTIONS) +#endif # if defined(USE_THREADS) # endif #endif #if defined(PERL_IN_PP_C) || defined(PERL_DECL_PROT) #endif #if defined(PERL_IN_PP_CTL_C) || defined(PERL_DECL_PROT) +#if defined(PERL_FLEXIBLE_EXCEPTIONS) +#endif #endif #if defined(PERL_IN_PP_HOT_C) || defined(PERL_DECL_PROT) #endif @@ -3844,13 +4038,12 @@ Perl_ptr_table_split(pTHXo_ PTR_TBL_t *tbl) #if defined(PERL_IN_SCOPE_C) || defined(PERL_DECL_PROT) #endif #if defined(PERL_IN_SV_C) || defined(PERL_DECL_PROT) -# if defined(PURIFY) -# else -# endif # if defined(DEBUGGING) # endif #endif #if defined(PERL_IN_TOKE_C) || defined(PERL_DECL_PROT) +#if 0 +#endif # if defined(CRIPPLED_CC) # endif # if defined(PERL_CR_FILTER)