summaryrefslogtreecommitdiffstats
path: root/contrib/perl5/perlapi.c
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/perl5/perlapi.c')
-rw-r--r--contrib/perl5/perlapi.c219
1 files changed, 192 insertions, 27 deletions
diff --git a/contrib/perl5/perlapi.c b/contrib/perl5/perlapi.c
index 787c2f2..5fc0c4d 100644
--- a/contrib/perl5/perlapi.c
+++ b/contrib/perl5/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
@@ -82,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)
@@ -159,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)
@@ -477,6 +480,8 @@ Perl_sv_setpvf_mg_nocontext(SV* sv, const char* pat, ...)
}
#undef Perl_fprintf_nocontext
+
+#undef Perl_printf_nocontext
#endif
#undef Perl_cv_const_sv
@@ -616,9 +621,9 @@ 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
@@ -632,6 +637,13 @@ Perl_do_close(pTHXo_ GV* gv, bool not_implicit)
#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)
@@ -826,6 +838,13 @@ Perl_gv_efullname3(pTHXo_ SV* sv, GV* gv, const char* prefix)
((CPerlObj*)pPerl)->Perl_gv_efullname3(sv, gv, prefix);
}
+#undef Perl_gv_efullname4
+void
+Perl_gv_efullname4(pTHXo_ SV* sv, GV* gv, const char* prefix, bool keepmain)
+{
+ ((CPerlObj*)pPerl)->Perl_gv_efullname4(sv, gv, prefix, keepmain);
+}
+
#undef Perl_gv_fetchfile
GV*
Perl_gv_fetchfile(pTHXo_ const char* name)
@@ -875,6 +894,13 @@ Perl_gv_fullname3(pTHXo_ SV* sv, GV* gv, const char* prefix)
((CPerlObj*)pPerl)->Perl_gv_fullname3(sv, gv, prefix);
}
+#undef Perl_gv_fullname4
+void
+Perl_gv_fullname4(pTHXo_ SV* sv, GV* gv, const char* prefix, bool keepmain)
+{
+ ((CPerlObj*)pPerl)->Perl_gv_fullname4(sv, gv, prefix, keepmain);
+}
+
#undef Perl_gv_init
void
Perl_gv_init(pTHXo_ GV* gv, HV* stash, const char* name, STRLEN len, int multi)
@@ -1310,12 +1336,19 @@ Perl_to_uni_lower_lc(pTHXo_ U32 c)
}
#undef Perl_is_utf8_char
-int
+STRLEN
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)
@@ -2206,21 +2239,21 @@ Perl_init_i18nl14n(pTHXo_ int printwarn)
#undef Perl_new_collate
void
-Perl_new_collate(pTHXo_ const char* newcoll)
+Perl_new_collate(pTHXo_ char* newcoll)
{
((CPerlObj*)pPerl)->Perl_new_collate(newcoll);
}
#undef Perl_new_ctype
void
-Perl_new_ctype(pTHXo_ const char* newctype)
+Perl_new_ctype(pTHXo_ char* newctype)
{
((CPerlObj*)pPerl)->Perl_new_ctype(newctype);
}
#undef Perl_new_numeric
void
-Perl_new_numeric(pTHXo_ const char* newcoll)
+Perl_new_numeric(pTHXo_ char* newcoll)
{
((CPerlObj*)pPerl)->Perl_new_numeric(newcoll);
}
@@ -2343,6 +2376,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
@@ -2444,6 +2484,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)
@@ -2535,6 +2582,13 @@ Perl_save_long(pTHXo_ long* longp)
((CPerlObj*)pPerl)->Perl_save_long(longp);
}
+#undef Perl_save_mortalizesv
+void
+Perl_save_mortalizesv(pTHXo_ SV* sv)
+{
+ ((CPerlObj*)pPerl)->Perl_save_mortalizesv(sv);
+}
+
#undef Perl_save_nogv
void
Perl_save_nogv(pTHXo_ GV* gv)
@@ -2570,6 +2624,13 @@ Perl_save_re_context(pTHXo)
((CPerlObj*)pPerl)->Perl_save_re_context();
}
+#undef Perl_save_padsv
+void
+Perl_save_padsv(pTHXo_ PADOFFSET off)
+{
+ ((CPerlObj*)pPerl)->Perl_save_padsv(off);
+}
+
#undef Perl_save_sptr
void
Perl_save_sptr(pTHXo_ SV** sptr)
@@ -2593,28 +2654,28 @@ Perl_save_threadsv(pTHXo_ PADOFFSET i)
#undef Perl_scan_bin
NV
-Perl_scan_bin(pTHXo_ char* start, I32 len, I32* retlen)
+Perl_scan_bin(pTHXo_ char* start, STRLEN len, STRLEN* retlen)
{
return ((CPerlObj*)pPerl)->Perl_scan_bin(start, len, retlen);
}
#undef Perl_scan_hex
NV
-Perl_scan_hex(pTHXo_ char* start, I32 len, I32* retlen)
+Perl_scan_hex(pTHXo_ char* start, STRLEN len, STRLEN* retlen)
{
return ((CPerlObj*)pPerl)->Perl_scan_hex(start, len, retlen);
}
#undef Perl_scan_num
char*
-Perl_scan_num(pTHXo_ char* s)
+Perl_scan_num(pTHXo_ char* s, YYSTYPE *lvalp)
{
- return ((CPerlObj*)pPerl)->Perl_scan_num(s);
+ return ((CPerlObj*)pPerl)->Perl_scan_num(s, lvalp);
}
#undef Perl_scan_oct
NV
-Perl_scan_oct(pTHXo_ char* start, I32 len, I32* retlen)
+Perl_scan_oct(pTHXo_ char* start, STRLEN len, STRLEN* retlen)
{
return ((CPerlObj*)pPerl)->Perl_scan_oct(start, len, retlen);
}
@@ -3293,20 +3354,27 @@ 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_length
+STRLEN
+Perl_utf8_length(pTHXo_ U8* s, U8 *e)
+{
+ return ((CPerlObj*)pPerl)->Perl_utf8_length(s, e);
}
#undef Perl_utf8_distance
-I32
+IV
Perl_utf8_distance(pTHXo_ U8 *a, U8 *b)
{
return ((CPerlObj*)pPerl)->Perl_utf8_distance(a, b);
@@ -3319,11 +3387,39 @@ 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_from_utf8
+U8*
+Perl_bytes_from_utf8(pTHXo_ U8 *s, STRLEN *len, bool *is_utf8)
+{
+ return ((CPerlObj*)pPerl)->Perl_bytes_from_utf8(s, len, is_utf8);
+}
+
+#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_simple
+UV
+Perl_utf8_to_uv_simple(pTHXo_ U8 *s, STRLEN* retlen)
+{
+ return ((CPerlObj*)pPerl)->Perl_utf8_to_uv_simple(s, retlen);
+}
+
#undef Perl_utf8_to_uv
UV
-Perl_utf8_to_uv(pTHXo_ U8 *s, I32* retlen)
+Perl_utf8_to_uv(pTHXo_ U8 *s, STRLEN curlen, STRLEN* retlen, U32 flags)
{
- return ((CPerlObj*)pPerl)->Perl_utf8_to_uv(s, retlen);
+ return ((CPerlObj*)pPerl)->Perl_utf8_to_uv(s, curlen, retlen, flags);
}
#undef Perl_uv_to_utf8
@@ -3366,8 +3462,14 @@ Perl_vwarner(pTHXo_ U32 err, const char* pat, va_list* args)
{
((CPerlObj*)pPerl)->Perl_vwarner(err, pat, args);
}
-#if defined(USE_PURE_BISON)
-#else
+
+#undef Perl_whichsig
+I32
+Perl_whichsig(pTHXo_ char* sig)
+{
+ return ((CPerlObj*)pPerl)->Perl_whichsig(sig);
+}
+#ifdef USE_PURE_BISON
#endif
#if defined(MYMALLOC)
@@ -3474,6 +3576,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
@@ -3772,6 +3883,20 @@ Perl_sv_force_normal(pTHXo_ SV *sv)
((CPerlObj*)pPerl)->Perl_sv_force_normal(sv);
}
+#undef Perl_sv_add_backref
+void
+Perl_sv_add_backref(pTHXo_ SV *tsv, SV *sv)
+{
+ ((CPerlObj*)pPerl)->Perl_sv_add_backref(tsv, sv);
+}
+
+#undef Perl_sv_del_backref
+void
+Perl_sv_del_backref(pTHXo_ SV *sv)
+{
+ ((CPerlObj*)pPerl)->Perl_sv_del_backref(sv);
+}
+
#undef Perl_tmps_grow
void
Perl_tmps_grow(pTHXo_ I32 n)
@@ -3921,6 +4046,36 @@ Perl_ptr_table_split(pTHXo_ PTR_TBL_t *tbl)
{
((CPerlObj*)pPerl)->Perl_ptr_table_split(tbl);
}
+
+#undef Perl_ptr_table_clear
+void
+Perl_ptr_table_clear(pTHXo_ PTR_TBL_t *tbl)
+{
+ ((CPerlObj*)pPerl)->Perl_ptr_table_clear(tbl);
+}
+
+#undef Perl_ptr_table_free
+void
+Perl_ptr_table_free(pTHXo_ PTR_TBL_t *tbl)
+{
+ ((CPerlObj*)pPerl)->Perl_ptr_table_free(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
@@ -3998,6 +4153,16 @@ Perl_fprintf_nocontext(PerlIO *stream, const char *format, ...)
return (*PL_StdIO->pVprintf)(PL_StdIO, stream, format, arglist);
}
+#undef Perl_printf_nocontext
+int
+Perl_printf_nocontext(const char *format, ...)
+{
+ dTHXo;
+ va_list(arglist);
+ va_start(arglist, format);
+ return (*PL_StdIO->pVprintf)(PL_StdIO, PerlIO_stdout(), format, arglist);
+}
+
END_EXTERN_C
#endif /* PERL_OBJECT */
OpenPOWER on IntegriCloud