X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=regexec.c;h=747b61be3bfb6383d24d20a75045700907255474;hb=ce5e94717f361c3fd6b9b0fb704412d30f3ccf66;hp=3393f616004f921c05dde41ec352b6ff98212a31;hpb=9e1379522064653a18f9869238cf993de17f1960;p=p5sagit%2Fp5-mst-13.2.git diff --git a/regexec.c b/regexec.c index 3393f61..747b61b 100644 --- a/regexec.c +++ b/regexec.c @@ -31,28 +31,7 @@ */ #ifdef PERL_EXT_RE_BUILD -/* need to replace pregcomp et al, so enable that */ -# ifndef PERL_IN_XSUB_RE -# define PERL_IN_XSUB_RE -# endif -/* need access to debugger hooks */ -# if defined(PERL_EXT_RE_DEBUG) && !defined(DEBUGGING) -# define DEBUGGING -# endif -#endif - -#ifdef PERL_IN_XSUB_RE -/* We *really* need to overwrite these symbols: */ -# define Perl_regexec_flags my_regexec -# define Perl_regdump my_regdump -# define Perl_regprop my_regprop -# define Perl_re_intuit_start my_re_intuit_start -/* *These* symbols are masked to allow static link. */ -# define Perl_pregexec my_pregexec -# define Perl_reginitcolors my_reginitcolors -# define Perl_regclass_swash my_regclass_swash - -# define PERL_NO_GET_CONTEXT +#include "re_top.h" #endif /* @@ -91,7 +70,11 @@ #define PERL_IN_REGEXEC_C #include "perl.h" -#include "regcomp.h" +#ifdef PERL_IN_XSUB_RE +# include "re_comp.h" +#else +# include "regcomp.h" +#endif #define RF_tainted 1 /* tainted information used? */ #define RF_warned 2 /* warned about big count? */ @@ -299,6 +282,7 @@ S_regcppop(pTHX_ const regexp *rex) * pregexec and friends */ +#ifndef PERL_IN_XSUB_RE /* - pregexec - match a regexp against a string */ @@ -314,7 +298,7 @@ Perl_pregexec(pTHX_ register regexp *prog, char *stringarg, register char *stren regexec_flags(prog, stringarg, strend, strbeg, minend, screamer, NULL, nosave ? 0 : REXEC_COPY_STR); } - +#endif /* * Need to implement the following flags for reg_anch: @@ -2309,6 +2293,9 @@ typedef union re_unwind_t { STATIC regmatch_state * S_push_slab(pTHX) { +#if PERL_VERSION < 9 + dMY_CXT; +#endif regmatch_slab *s = PL_regmatch_slab->next; if (!s) { Newx(s, 1, regmatch_slab); @@ -2476,6 +2463,9 @@ S_push_slab(pTHX) STATIC I32 /* 0 failure, 1 success */ S_regmatch(pTHX_ const regmatch_info *reginfo, regnode *prog) { +#if PERL_VERSION < 9 + dMY_CXT; +#endif dVAR; register const bool do_utf8 = PL_reg_match_utf8; const U32 uniflags = UTF8_ALLOW_DEFAULT; @@ -4928,6 +4918,7 @@ S_regrepeat(pTHX_ const regexp *prog, const regnode *p, I32 max) } +#ifndef PERL_IN_XSUB_RE /* - regclass_swash - prepare the utf8 swash */ @@ -4975,6 +4966,7 @@ Perl_regclass_swash(pTHX_ const regexp *prog, register const regnode* node, bool return sw; } +#endif /* - reginclass - determine if a character falls into a character class