summaryrefslogtreecommitdiff
path: root/regexp.h
diff options
context:
space:
mode:
authorYves Orton <demerphq@gmail.com>2006-11-23 20:21:38 +0100
committerNicholas Clark <nick@ccl4.org>2006-11-23 23:17:44 +0000
commitf8fc2ecf2fa95aa27fcef856e4853807c5dec00e (patch)
treed71eb6bfc36e0a072447b4d629dadc0e40ba9708 /regexp.h
parent64f1630259715aa5333fbbfab877f74d53f5b321 (diff)
downloadperl-f8fc2ecf2fa95aa27fcef856e4853807c5dec00e.tar.gz
Re: [PATCH] Cleanup regexp flags and structure
Message-ID: <9b18b3110611231021l561a9cb4te985db3f0648e097@mail.gmail.com> Attached patch completes the splitting out of the core from the regexp internal data. p4raw-id: //depot/perl@29368
Diffstat (limited to 'regexp.h')
-rw-r--r--regexp.h9
1 files changed, 8 insertions, 1 deletions
diff --git a/regexp.h b/regexp.h
index 1355e1ecdf..f2c9705b61 100644
--- a/regexp.h
+++ b/regexp.h
@@ -82,6 +82,10 @@ typedef struct regexp {
void *pprivate; /* Data private to the regex engine which
created this object. Perl will never mess with
this member at all. */
+} regexp;
+
+
+typedef struct regexp_internal {
regexp_paren_ofs *swap; /* Swap copy of *startp / *endp */
U32 *offsets; /* offset annotations 20001228 MJD
data about mapping the program to the
@@ -93,8 +97,11 @@ typedef struct regexp {
data that the regops need. Often the ARG field of
a regop is an index into this structure */
regnode program[1]; /* Unwarranted chumminess with compiler. */
-} regexp;
+} regexp_internal;
+#define RXi_SET(x,y) (x)->pprivate = (void*)(y)
+#define RXi_GET(x) ((regexp_internal *)((x)->pprivate))
+#define RXi_GET_DECL(r,ri) regexp_internal *ri = RXi_GET(r)
typedef struct re_scream_pos_data_s
{