This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
make is_bare_re bool. not int in re_op_compile
authorDavid Mitchell <davem@iabyn.com>
Sat, 21 Apr 2012 19:25:33 +0000 (20:25 +0100)
committerDavid Mitchell <davem@iabyn.com>
Wed, 13 Jun 2012 12:32:52 +0000 (13:32 +0100)
This flag pointer only stores truth, so make it a pointer to a bool rather
than to an int.

embed.fnc
pp_ctl.c
proto.h
regcomp.c
regexp.h

index 1a0a779..046835f 100644 (file)
--- a/embed.fnc
+++ b/embed.fnc
@@ -1062,7 +1062,7 @@ p |REGEXP*|re_op_compile  |NULLOK SV ** const patternp \
                                |int pat_count|NULLOK OP *expr \
                                |NN const regexp_engine* eng \
                                |NULLOK REGEXP *VOL old_re \
-                               |NULLOK int *is_bare_re \
+                               |NULLOK bool *is_bare_re \
                                |U32 rx_flags|U32 pm_flags
 Ap     |REGEXP*|re_compile     |NN SV * const pattern|U32 orig_rx_flags
 Ap     |char*  |re_intuit_start|NN REGEXP * const rx|NULLOK SV* sv|NN char* strpos \
index ae493c4..01bb5c3 100644 (file)
--- a/pp_ctl.c
+++ b/pp_ctl.c
@@ -83,7 +83,7 @@ PP(pp_regcomp)
     REGEXP *re = NULL;
     REGEXP *new_re;
     const regexp_engine *eng;
-    int is_bare_re;
+    bool is_bare_re;
 
     if (PL_op->op_flags & OPf_STACKED) {
        dMARK;
diff --git a/proto.h b/proto.h
index 84df7b1..10fbaba 100644 (file)
--- a/proto.h
+++ b/proto.h
@@ -3150,7 +3150,7 @@ PERL_CALLCONV SV* Perl_re_intuit_string(pTHX_ REGEXP  *const r)
 #define PERL_ARGS_ASSERT_RE_INTUIT_STRING      \
        assert(r)
 
-PERL_CALLCONV REGEXP*  Perl_re_op_compile(pTHX_ SV ** const patternp, int pat_count, OP *expr, const regexp_engine* eng, REGEXP *VOL old_re, int *is_bare_re, U32 rx_flags, U32 pm_flags)
+PERL_CALLCONV REGEXP*  Perl_re_op_compile(pTHX_ SV ** const patternp, int pat_count, OP *expr, const regexp_engine* eng, REGEXP *VOL old_re, bool *is_bare_re, U32 rx_flags, U32 pm_flags)
                        __attribute__nonnull__(pTHX_4);
 #define PERL_ARGS_ASSERT_RE_OP_COMPILE \
        assert(eng)
index 42fedf4..f2b82a8 100644 (file)
--- a/regcomp.c
+++ b/regcomp.c
@@ -5232,7 +5232,7 @@ S_compile_runtime_code(pTHX_ RExC_state_t * const pRExC_state,
 REGEXP *
 Perl_re_op_compile(pTHX_ SV ** const patternp, int pat_count,
                    OP *expr, const regexp_engine* eng, REGEXP *VOL old_re,
-                    int *is_bare_re, U32 orig_rx_flags, U32 pm_flags)
+                    bool *is_bare_re, U32 orig_rx_flags, U32 pm_flags)
 {
     dVAR;
     REGEXP *rx;
@@ -5334,7 +5334,7 @@ Perl_re_op_compile(pTHX_ SV ** const patternp, int pat_count,
     pRExC_state->num_code_blocks = 0;
 
     if (is_bare_re)
-       *is_bare_re = 0;
+       *is_bare_re = FALSE;
 
     if (expr && (expr->op_type == OP_LIST ||
                (expr->op_type == OP_NULL && expr->op_targ == OP_LIST))) {
@@ -5493,7 +5493,7 @@ Perl_re_op_compile(pTHX_ SV ** const patternp, int pat_count,
                re = SvRV(re);
            if (SvTYPE(re) == SVt_REGEXP) {
                if (is_bare_re)
-                   *is_bare_re = 1;
+                   *is_bare_re = TRUE;
                SvREFCNT_inc(re);
                Safefree(pRExC_state->code_blocks);
                return (REGEXP*)re;
index ff39f43..18ce82a 100644 (file)
--- a/regexp.h
+++ b/regexp.h
@@ -164,7 +164,7 @@ typedef struct regexp_engine {
     REGEXP* (*op_comp) (pTHX_ SV ** const patternp, int pat_count,
                    OP *expr, const struct regexp_engine* eng,
                    REGEXP *VOL old_re,
-                   int *is_bare_re, U32 orig_rx_flags, U32 pm_flags);
+                   bool *is_bare_re, U32 orig_rx_flags, U32 pm_flags);
 } regexp_engine;
 
 /*