Re: Time::HiRes qw(sleep) fails
[p5sagit/p5-mst-13.2.git] / ext / re / re.xs
CommitLineData
c5be433b 1#define PERL_NO_GET_CONTEXT
56953603 2#include "EXTERN.h"
3#include "perl.h"
4#include "XSUB.h"
5
5371795a 6#ifdef WAS_NOT_DEBUGGING
7void Perl_deb(pTHX_ const char* pat, ...) { }
8#endif
9
cea2e8a9 10extern regexp* my_regcomp (pTHX_ char* exp, char* xend, PMOP* pm);
11extern I32 my_regexec (pTHX_ regexp* prog, char* stringarg, char* strend,
20ce7b12 12 char* strbeg, I32 minend, SV* screamer,
13 void* data, U32 flags);
f722798b 14extern void my_regfree (pTHX_ struct regexp* r);
15extern char* my_re_intuit_start (pTHX_ regexp *prog, SV *sv, char *strpos,
16 char *strend, U32 flags,
17 struct re_scream_pos_data_s *data);
18extern SV* my_re_intuit_string (pTHX_ regexp *prog);
56953603 19
20static int oldfl;
21
56953603 22static void
cea2e8a9 23deinstall(pTHX)
56953603 24{
0b94c7bb 25 PL_regexecp = Perl_regexec_flags;
26 PL_regcompp = Perl_pregcomp;
27 PL_regint_start = Perl_re_intuit_start;
28 PL_regint_string = Perl_re_intuit_string;
29 PL_regfree = Perl_pregfree;
f722798b 30
56953603 31 if (!oldfl)
aea4f609 32 PL_debug &= ~DEBUG_r_FLAG;
56953603 33}
34
35static void
cea2e8a9 36install(pTHX)
56953603 37{
285bbc62 38 PL_colorset = 0; /* Allow reinspection of ENV. */
3280af22 39 PL_regexecp = &my_regexec;
40 PL_regcompp = &my_regcomp;
f722798b 41 PL_regint_start = &my_re_intuit_start;
42 PL_regint_string = &my_re_intuit_string;
43 PL_regfree = &my_regfree;
aea4f609 44 oldfl = PL_debug & DEBUG_r_FLAG;
d8981068 45 PL_debug |= DEBUG_r_FLAG;
56953603 46}
47
48MODULE = re PACKAGE = re
49
50void
51install()
cea2e8a9 52 CODE:
53 install(aTHX);
56953603 54
55void
56deinstall()
cea2e8a9 57 CODE:
58 deinstall(aTHX);