This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Grrr...moved the files, but forgot to update Soundex.pm
[perl5.git] / ext / re / re.xs
CommitLineData
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
11START_EXTERN_C
12
cea2e8a9
GS
13extern regexp* my_regcomp (pTHX_ char* exp, char* xend, PMOP* pm);
14extern 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
17extern void my_regfree (pTHX_ struct regexp* r);
18extern 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);
21extern SV* my_re_intuit_string (pTHX_ regexp *prog);
56953603 22
a3c0e9ca 23#if defined(USE_ITHREADS)
f9f4320a 24extern regexp* my_regdupe (pTHX_ const regexp *r, CLONE_PARAMS *param);
a3c0e9ca 25#endif
0a28d81c 26
f9f4320a
YO
27const 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 38END_EXTERN_C
56953603
IZ
39
40MODULE = re PACKAGE = re
41
42void
f9f4320a
YO
43install()
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