Ap |void |sys_intern_clear
Ap |void |sys_intern_init
#endif
-#if defined(PERL_CUSTOM_OPS)
+
Ap |char * |custom_op_name|OP* op
Ap |char * |custom_op_desc|OP* op
-#endif
+
END_EXTERN_C
PERLVAR(Isavebegin, bool) /* save BEGINs for compiler */
-#ifdef PERL_CUSTOM_OPS
+
PERLVAR(Icustom_op_names, HV*) /* Names of user defined ops */
PERLVAR(Icustom_op_descs, HV*) /* Descriptions of user defined ops */
-#endif
+
/* New variables must be added to the very end for binary compatibility.
* XSUB.h provides wrapper functions via perlapi.h that make this
* irrelevant, but not all code may be expected to #include XSUB.h. */
}
}
-skip_symbols [qw(Perl_custom_op_name Perl_custom_op_desc PL_custom_op_descs PL_custom_op_names)] unless $define{'PERL_CUSTOM_OPS'};
if ($PLATFORM eq 'win32') {
skip_symbols [qw(
LEAVE;
}
-#ifdef PERL_CUSTOM_OPS
-char* custom_op_name(pTHX_ OP* o)
+
+
+char* Perl_custom_op_name(pTHX_ OP* o)
{
IV index = PTR2IV(o->op_ppaddr);
SV* keysv;
return SvPV_nolen(HeVAL(he));
}
-char* custom_op_desc(pTHX_ OP* o)
+char* Perl_custom_op_desc(pTHX_ OP* o)
{
IV index = PTR2IV(o->op_ppaddr);
SV* keysv;
return SvPV_nolen(HeVAL(he));
}
-#endif
+
#include "XSUB.h"
START_EXTERN_C
-#ifdef PERL_CUSTOM_OPS
+
#define OP_NAME(o) (o->op_type == OP_CUSTOM ? custom_op_name(o) : \\
PL_op_name[o->op_type])
#define OP_DESC(o) (o->op_type == OP_CUSTOM ? custom_op_desc(o) : \\
PL_op_desc[o->op_type])
-#else
-#define OP_NAME(o) PL_op_name[o->op_type]
-#define OP_DESC(o) PL_op_desc[o->op_type]
-#endif
#ifndef DOINIT
EXT char *PL_op_name[];
else
PL_exitlist = (PerlExitListEntry*)NULL;
PL_modglobal = hv_dup_inc(proto_perl->Imodglobal, param);
+ PL_custom_op_names = hv_dup_inc(proto_perl->Icustom_op_names,param);
+ PL_custom_op_descs = hv_dup_inc(proto_perl->Icustom_op_descs,param);
PL_profiledata = NULL;
PL_rsfp = fp_dup(proto_perl->Irsfp, '<');