diff options
author | Karl Williamson <public@khwilliamson.com> | 2010-07-31 14:13:40 -0600 |
---|---|---|
committer | Rafael Garcia-Suarez <rgs@consttype.org> | 2010-08-11 10:23:35 +0200 |
commit | 3214c85f0cf79132ec9bd3848fbc74923594dc83 (patch) | |
tree | 719175833b18a83a83110972f2c73a9fb8438fb8 | |
parent | f4a4cecbe54b6ef3f12e504d1840e450819f026b (diff) | |
download | perl-3214c85f0cf79132ec9bd3848fbc74923594dc83.tar.gz |
op_reg_common.h: Refactor variable for safety
This patch changes the variable that tells how many common bits there
are to instead be +1 that value, so bits won't get reused. A later
commit will renumber the bits in op.h and regexp.h, but for now things
are left as-is there, which means the base variables in those two files
must subtract one to compensate for the +1
-rw-r--r-- | op.h | 2 | ||||
-rw-r--r-- | op_reg_common.h | 4 | ||||
-rw-r--r-- | regexp.h | 2 |
3 files changed, 5 insertions, 3 deletions
@@ -360,7 +360,7 @@ struct pmop { #define PM_SETRE(o,r) ((o)->op_pmregexp = (r)) #endif -#define PMf_BASE_SHIFT _RXf_PMf_SHIFT +#define PMf_BASE_SHIFT ((_RXf_PMf_SHIFT_NEXT)-1) /* taint $1 etc. if target tainted */ #define PMf_RETAINT (1<<(PMf_BASE_SHIFT+1)) diff --git a/op_reg_common.h b/op_reg_common.h index b0fd273b3d..de100dc780 100644 --- a/op_reg_common.h +++ b/op_reg_common.h @@ -24,4 +24,6 @@ #define RXf_PMf_LOCALE (1 << 5) #define PMf_LOCALE (1 << 5) -#define _RXf_PMf_SHIFT 5 /* Begins with '_' so won't be exported by B */ +/* Next available bit after the above. Name begins with '_' so won't be + * exported by B */ +#define _RXf_PMf_SHIFT_NEXT 6 @@ -291,7 +291,7 @@ and check for NULL. * */ -#define RXf_BASE_SHIFT _RXf_PMf_SHIFT +#define RXf_BASE_SHIFT ((_RXf_PMf_SHIFT_NEXT)-1) /* Anchor and GPOS related stuff */ #define RXf_ANCH_BOL (1<<(RXf_BASE_SHIFT+3)) |