summaryrefslogtreecommitdiff
path: root/perl.h
diff options
context:
space:
mode:
authorYves Orton <demerphq@gmail.com>2006-11-30 23:06:38 +0100
committerRafael Garcia-Suarez <rgarciasuarez@gmail.com>2006-12-01 13:59:27 +0000
commitf81494553e6bd219aa5863d70777bd6f2b02d37f (patch)
tree28d6d3ba348c4b0491ce06ed140e5cc39062e03a /perl.h
parent80a702cd72c27fd870b2290d0adc07670c338743 (diff)
downloadperl-f81494553e6bd219aa5863d70777bd6f2b02d37f.tar.gz
Continue split of perl internal regexp structures from ones that are engine specific.
Message-ID: <9b18b3110611301306p5cad5deal4aa55559b8c8defd@mail.gmail.com> p4raw-id: //depot/perl@29430
Diffstat (limited to 'perl.h')
-rw-r--r--perl.h17
1 files changed, 13 insertions, 4 deletions
diff --git a/perl.h b/perl.h
index f5b80371d3..12be192dde 100644
--- a/perl.h
+++ b/perl.h
@@ -196,7 +196,7 @@
#define CALLRUNOPS CALL_FPTR(PL_runops)
-#define CALLREGCOMP(exp, xend, pm) Perl_pregcomp(aTHX_ exp,xend,pm)
+#define CALLREGCOMP(exp, xend, pm) Perl_pregcomp(aTHX_ (exp),(xend),(pm))
#define CALLREGCOMP_ENG(prog, exp, xend, pm) \
CALL_FPTR(((prog)->comp))(aTHX_ exp, xend, pm)
@@ -208,13 +208,22 @@
(strend),(flags),(data))
#define CALLREG_INTUIT_STRING(prog) \
CALL_FPTR((prog)->engine->checkstr)(aTHX_ (prog))
-#define CALLREGFREE(prog) \
- if(prog) CALL_FPTR((prog)->engine->free)(aTHX_ (prog))
+
#define CALLREG_AS_STR(mg,lp,flags,haseval) \
- CALL_FPTR(((regexp *)((mg)->mg_obj))->engine->as_str)(aTHX_ (mg), (lp), (flags), (haseval))
+ Perl_reg_stringify(aTHX_ (mg), (lp), (flags), (haseval))
#define CALLREG_STRINGIFY(mg,lp,flags) CALLREG_AS_STR(mg,lp,flags,0)
+
+#define CALLREGFREE(prog) \
+ Perl_pregfree(aTHX_ (prog))
+
+#define CALLREGFREE_PVT(prog) \
+ if(prog) CALL_FPTR((prog)->engine->free)(aTHX_ (prog))
+
#if defined(USE_ITHREADS)
#define CALLREGDUPE(prog,param) \
+ Perl_re_dup(aTHX_ (prog),(param))
+
+#define CALLREGDUPE_PVT(prog,param) \
(prog ? CALL_FPTR((prog)->engine->dupe)(aTHX_ (prog),(param)) \
: (REGEXP *)NULL)
#endif