diff options
author | Nicholas Clark <nick@ccl4.org> | 2001-11-24 16:30:42 +0000 |
---|---|---|
committer | Jarkko Hietaniemi <jhi@iki.fi> | 2001-11-24 16:11:04 +0000 |
commit | f8bef55053427841654eec6e37b8f0f4224b2976 (patch) | |
tree | eea4e2a1545caab4e9641ad6a2230650dad6a1f9 /regcomp.c | |
parent | 30de85b6294027ce5dd68a336e7f75fe8fb14941 (diff) | |
download | perl-f8bef55053427841654eec6e37b8f0f4224b2976.tar.gz |
memset() is cheaper than a loop of 256 bit-a-a-times
Message-ID: <20011124163042.R37621@plum.flirble.org>
p4raw-id: //depot/perl@13236
Diffstat (limited to 'regcomp.c')
-rw-r--r-- | regcomp.c | 10 |
1 files changed, 3 insertions, 7 deletions
@@ -522,11 +522,8 @@ S_scan_commit(pTHX_ RExC_state_t *pRExC_state, scan_data_t *data) STATIC void S_cl_anything(pTHX_ RExC_state_t *pRExC_state, struct regnode_charclass_class *cl) { - int value; - ANYOF_CLASS_ZERO(cl); - for (value = 0; value < 256; ++value) - ANYOF_BITMAP_SET(cl, value); + ANYOF_BITMAP_SETALL(cl); cl->flags = ANYOF_EOS|ANYOF_UNICODE_ALL; if (LOC) cl->flags |= ANYOF_LOCALE; @@ -543,9 +540,8 @@ S_cl_is_anything(pTHX_ struct regnode_charclass_class *cl) return 1; if (!(cl->flags & ANYOF_UNICODE_ALL)) return 0; - for (value = 0; value < 256; ++value) - if (!ANYOF_BITMAP_TEST(cl, value)) - return 0; + if (!ANYOF_BITMAP_TESTALLSET(cl)) + return 0; return 1; } |