diff options
-rw-r--r-- | embed.h | 22 | ||||
-rwxr-xr-x | embed.pl | 6 | ||||
-rw-r--r-- | global.sym | 4 | ||||
-rw-r--r-- | objXSUB.h | 18 | ||||
-rw-r--r-- | perlapi.c | 30 | ||||
-rw-r--r-- | proto.h | 6 | ||||
-rw-r--r-- | win32/win32.c | 24 |
7 files changed, 62 insertions, 48 deletions
@@ -825,15 +825,17 @@ #define mg_dup Perl_mg_dup #define sv_dup Perl_sv_dup #if defined(HAVE_INTERP_INTERN) -#define sys_intern_clear Perl_sys_intern_clear #define sys_intern_dup Perl_sys_intern_dup -#define sys_intern_init Perl_sys_intern_init #endif #define ptr_table_new Perl_ptr_table_new #define ptr_table_fetch Perl_ptr_table_fetch #define ptr_table_store Perl_ptr_table_store #define ptr_table_split Perl_ptr_table_split #endif +#if defined(HAVE_INTERP_INTERN) +#define sys_intern_clear Perl_sys_intern_clear +#define sys_intern_init Perl_sys_intern_init +#endif #if defined(PERL_OBJECT) #else #endif @@ -2265,15 +2267,17 @@ #define mg_dup(a) Perl_mg_dup(aTHX_ a) #define sv_dup(a) Perl_sv_dup(aTHX_ a) #if defined(HAVE_INTERP_INTERN) -#define sys_intern_clear() Perl_sys_intern_clear(aTHX) #define sys_intern_dup(a,b) Perl_sys_intern_dup(aTHX_ a,b) -#define sys_intern_init() Perl_sys_intern_init(aTHX) #endif #define ptr_table_new() Perl_ptr_table_new(aTHX) #define ptr_table_fetch(a,b) Perl_ptr_table_fetch(aTHX_ a,b) #define ptr_table_store(a,b,c) Perl_ptr_table_store(aTHX_ a,b,c) #define ptr_table_split(a) Perl_ptr_table_split(aTHX_ a) #endif +#if defined(HAVE_INTERP_INTERN) +#define sys_intern_clear() Perl_sys_intern_clear(aTHX) +#define sys_intern_init() Perl_sys_intern_init(aTHX) +#endif #if defined(PERL_OBJECT) #else #endif @@ -4441,12 +4445,8 @@ #define Perl_sv_dup CPerlObj::Perl_sv_dup #define sv_dup Perl_sv_dup #if defined(HAVE_INTERP_INTERN) -#define Perl_sys_intern_clear CPerlObj::Perl_sys_intern_clear -#define sys_intern_clear Perl_sys_intern_clear #define Perl_sys_intern_dup CPerlObj::Perl_sys_intern_dup #define sys_intern_dup Perl_sys_intern_dup -#define Perl_sys_intern_init CPerlObj::Perl_sys_intern_init -#define sys_intern_init Perl_sys_intern_init #endif #define Perl_ptr_table_new CPerlObj::Perl_ptr_table_new #define ptr_table_new Perl_ptr_table_new @@ -4457,6 +4457,12 @@ #define Perl_ptr_table_split CPerlObj::Perl_ptr_table_split #define ptr_table_split Perl_ptr_table_split #endif +#if defined(HAVE_INTERP_INTERN) +#define Perl_sys_intern_clear CPerlObj::Perl_sys_intern_clear +#define sys_intern_clear Perl_sys_intern_clear +#define Perl_sys_intern_init CPerlObj::Perl_sys_intern_init +#define sys_intern_init Perl_sys_intern_init +#endif #if defined(PERL_OBJECT) #else #endif @@ -2155,16 +2155,18 @@ Ap |GP* |gp_dup |GP* gp Ap |MAGIC* |mg_dup |MAGIC* mg Ap |SV* |sv_dup |SV* sstr #if defined(HAVE_INTERP_INTERN) -Ap |void |sys_intern_clear Ap |void |sys_intern_dup |struct interp_intern* src \ |struct interp_intern* dst -Ap |void |sys_intern_init #endif Ap |PTR_TBL_t*|ptr_table_new Ap |void* |ptr_table_fetch|PTR_TBL_t *tbl|void *sv Ap |void |ptr_table_store|PTR_TBL_t *tbl|void *oldsv|void *newsv Ap |void |ptr_table_split|PTR_TBL_t *tbl #endif +#if defined(HAVE_INTERP_INTERN) +Ap |void |sys_intern_clear +Ap |void |sys_intern_init +#endif #if defined(PERL_OBJECT) protected: diff --git a/global.sym b/global.sym index 15afc0c2b6..9053446da2 100644 --- a/global.sym +++ b/global.sym @@ -536,10 +536,10 @@ Perl_dirp_dup Perl_gp_dup Perl_mg_dup Perl_sv_dup -Perl_sys_intern_clear Perl_sys_intern_dup -Perl_sys_intern_init Perl_ptr_table_new Perl_ptr_table_fetch Perl_ptr_table_store Perl_ptr_table_split +Perl_sys_intern_clear +Perl_sys_intern_init @@ -2166,18 +2166,10 @@ #undef sv_dup #define sv_dup Perl_sv_dup #if defined(HAVE_INTERP_INTERN) -#undef Perl_sys_intern_clear -#define Perl_sys_intern_clear pPerl->Perl_sys_intern_clear -#undef sys_intern_clear -#define sys_intern_clear Perl_sys_intern_clear #undef Perl_sys_intern_dup #define Perl_sys_intern_dup pPerl->Perl_sys_intern_dup #undef sys_intern_dup #define sys_intern_dup Perl_sys_intern_dup -#undef Perl_sys_intern_init -#define Perl_sys_intern_init pPerl->Perl_sys_intern_init -#undef sys_intern_init -#define sys_intern_init Perl_sys_intern_init #endif #undef Perl_ptr_table_new #define Perl_ptr_table_new pPerl->Perl_ptr_table_new @@ -2196,6 +2188,16 @@ #undef ptr_table_split #define ptr_table_split Perl_ptr_table_split #endif +#if defined(HAVE_INTERP_INTERN) +#undef Perl_sys_intern_clear +#define Perl_sys_intern_clear pPerl->Perl_sys_intern_clear +#undef sys_intern_clear +#define sys_intern_clear Perl_sys_intern_clear +#undef Perl_sys_intern_init +#define Perl_sys_intern_init pPerl->Perl_sys_intern_init +#undef sys_intern_init +#define sys_intern_init Perl_sys_intern_init +#endif #if defined(PERL_OBJECT) #else #endif @@ -3914,26 +3914,12 @@ Perl_sv_dup(pTHXo_ SV* sstr) } #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_dup void Perl_sys_intern_dup(pTHXo_ struct interp_intern* src, struct interp_intern* dst) { ((CPerlObj*)pPerl)->Perl_sys_intern_dup(src, dst); } - -#undef Perl_sys_intern_init -void -Perl_sys_intern_init(pTHXo) -{ - ((CPerlObj*)pPerl)->Perl_sys_intern_init(); -} #endif #undef Perl_ptr_table_new @@ -3964,6 +3950,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 @@ -933,15 +933,17 @@ PERL_CALLCONV GP* Perl_gp_dup(pTHX_ GP* gp); PERL_CALLCONV MAGIC* Perl_mg_dup(pTHX_ MAGIC* mg); PERL_CALLCONV SV* Perl_sv_dup(pTHX_ SV* sstr); #if defined(HAVE_INTERP_INTERN) -PERL_CALLCONV void Perl_sys_intern_clear(pTHX); PERL_CALLCONV void Perl_sys_intern_dup(pTHX_ struct interp_intern* src, struct interp_intern* dst); -PERL_CALLCONV void Perl_sys_intern_init(pTHX); #endif PERL_CALLCONV PTR_TBL_t* Perl_ptr_table_new(pTHX); PERL_CALLCONV void* Perl_ptr_table_fetch(pTHX_ PTR_TBL_t *tbl, void *sv); PERL_CALLCONV void Perl_ptr_table_store(pTHX_ PTR_TBL_t *tbl, void *oldsv, void *newsv); PERL_CALLCONV void Perl_ptr_table_split(pTHX_ PTR_TBL_t *tbl); #endif +#if defined(HAVE_INTERP_INTERN) +PERL_CALLCONV void Perl_sys_intern_clear(pTHX); +PERL_CALLCONV void Perl_sys_intern_init(pTHX); +#endif #if defined(PERL_OBJECT) protected: diff --git a/win32/win32.c b/win32/win32.c index 750f6fb9c6..1ba2e51758 100644 --- a/win32/win32.c +++ b/win32/win32.c @@ -4054,6 +4054,18 @@ Perl_sys_intern_init(pTHX) w32_init_socktype = 0; } +void +Perl_sys_intern_clear(pTHX) +{ + Safefree(w32_perlshell_tokens); + Safefree(w32_perlshell_vec); + /* NOTE: w32_fdpid is freed by sv_clean_all() */ + Safefree(w32_children); +# ifdef USE_ITHREADS + Safefree(w32_pseudo_children); +# endif +} + # ifdef USE_ITHREADS void @@ -4068,18 +4080,6 @@ Perl_sys_intern_dup(pTHX_ struct interp_intern *src, struct interp_intern *dst) Newz(1313, dst->pseudo_children, 1, child_tab); dst->thr_intern.Winit_socktype = src->thr_intern.Winit_socktype; } - -void -Perl_sys_intern_clear(pTHX) -{ - Safefree(w32_perlshell_tokens); - Safefree(w32_perlshell_vec); - /* NOTE: w32_fdpid is freed by sv_clean_all() */ - Safefree(w32_children); -# ifdef USE_ITHREADS - Safefree(w32_pseudo_children); -# endif -} # endif /* USE_ITHREADS */ #endif /* HAVE_INTERP_INTERN */ |