Commit | Line | Data |
---|---|---|
41b16711 AD |
1 | #if defined(PERL_EXT_RE_DEBUG) && !defined(DEBUGGING) |
2 | # define DEBUGGING | |
3 | #endif | |
4 | ||
c5be433b | 5 | #define PERL_NO_GET_CONTEXT |
56953603 IZ |
6 | #include "EXTERN.h" |
7 | #include "perl.h" | |
8 | #include "XSUB.h" | |
9 | ||
f9f4320a | 10 | |
97f88e98 JH |
11 | START_EXTERN_C |
12 | ||
cea2e8a9 GS |
13 | extern regexp* my_regcomp (pTHX_ char* exp, char* xend, PMOP* pm); |
14 | extern I32 my_regexec (pTHX_ regexp* prog, char* stringarg, char* strend, | |
20ce7b12 GS |
15 | char* strbeg, I32 minend, SV* screamer, |
16 | void* data, U32 flags); | |
f722798b IZ |
17 | extern void my_regfree (pTHX_ struct regexp* r); |
18 | extern char* my_re_intuit_start (pTHX_ regexp *prog, SV *sv, char *strpos, | |
19 | char *strend, U32 flags, | |
20 | struct re_scream_pos_data_s *data); | |
21 | extern SV* my_re_intuit_string (pTHX_ regexp *prog); | |
56953603 | 22 | |
a3c0e9ca | 23 | #if defined(USE_ITHREADS) |
f9f4320a | 24 | extern regexp* my_regdupe (pTHX_ const regexp *r, CLONE_PARAMS *param); |
a3c0e9ca | 25 | #endif |
0a28d81c | 26 | |
f9f4320a YO |
27 | const struct regexp_engine my_reg_engine = { |
28 | my_regcomp, | |
29 | my_regexec, | |
30 | my_re_intuit_start, | |
31 | my_re_intuit_string, | |
32 | my_regfree, | |
a3c0e9ca | 33 | #if defined(USE_ITHREADS) |
f9f4320a | 34 | my_regdupe |
a3c0e9ca | 35 | #endif |
0a28d81c NC |
36 | }; |
37 | ||
f9f4320a | 38 | END_EXTERN_C |
56953603 IZ |
39 | |
40 | MODULE = re PACKAGE = re | |
41 | ||
42 | void | |
f9f4320a YO |
43 | install() |
44 | PPCODE: | |
45 | PL_colorset = 0; /* Allow reinspection of ENV. */ | |
46 | /* PL_debug |= DEBUG_r_FLAG; */ | |
47 | XPUSHs(sv_2mortal(newSViv(PTR2IV(&my_reg_engine)))); | |
48 |