diff options
author | Karl Williamson <khw@cpan.org> | 2020-05-02 07:06:57 -0600 |
---|---|---|
committer | Karl Williamson <khw@cpan.org> | 2021-08-07 14:50:36 -0600 |
commit | ad06b7d50279bc74b53b6034e061808c7408017a (patch) | |
tree | 074751e25ac1858462fd35edff5c8976b1049952 /regcomp.c | |
parent | e040f2ad444d8427fef376d99c0fb47a06a78e05 (diff) | |
download | perl-ad06b7d50279bc74b53b6034e061808c7408017a.tar.gz |
regcomp.c: Consolidate duplicate code
Diffstat (limited to 'regcomp.c')
-rw-r--r-- | regcomp.c | 34 |
1 files changed, 17 insertions, 17 deletions
@@ -19351,15 +19351,11 @@ S_optimize_regclass(pTHX_ * any run-time dependencies don't matter */ if (start[0] == 0 && end[0] == UV_MAX) { if (*invert) { - op = OPFAIL; - *ret = reganode(pRExC_state, op, 0); + goto return_OPFAIL; } else { - op = SANY; - *ret = reg_node(pRExC_state, op); - MARK_NAUGHTY(1); + goto return_SANY; } - return op; } /* Similarly, for /l posix classes, if both a class and its complement @@ -19371,13 +19367,10 @@ S_optimize_regclass(pTHX_ && POSIXL_TEST(posixl, namedclass + 1)) /* its complement */ { if (*invert) { - op = OPFAIL; - *ret = reganode(pRExC_state, op, 0); + goto return_OPFAIL; } else { - op = SANY; - *ret = reg_node(pRExC_state, op); - MARK_NAUGHTY(1); + goto return_SANY; } return op; } @@ -19452,15 +19445,11 @@ S_optimize_regclass(pTHX_ * properties). */ if (partial_cp_count == 0) { if (*invert) { - op = SANY; - *ret = reg_node(pRExC_state, op); + goto return_SANY; } else { - op = OPFAIL; - *ret = reganode(pRExC_state, op, 0); + goto return_OPFAIL; } - - return op; } /* If matches everything but \n */ @@ -20177,6 +20166,17 @@ S_optimize_regclass(pTHX_ } return op; + + return_OPFAIL: + op = OPFAIL; + *ret = reganode(pRExC_state, op, 0); + return op; + + return_SANY: + op = SANY; + *ret = reg_node(pRExC_state, op); + MARK_NAUGHTY(1); + return op; } #undef HAS_NONLOCALE_RUNTIME_PROPERTY_DEFINITION |