summaryrefslogtreecommitdiff
path: root/utf8.c
diff options
context:
space:
mode:
authorKarl Williamson <public@khwilliamson.com>2012-11-19 14:36:12 -0700
committerKarl Williamson <public@khwilliamson.com>2012-11-19 17:13:02 -0700
commitadd4123adc9db7056121c97112791dbf273707c4 (patch)
treee87b87ee0b61cd7910dc346eb25c9128812b016c /utf8.c
parentbedac28b0a4795ca4264d391bfdd7dd3190f80d3 (diff)
downloadperl-add4123adc9db7056121c97112791dbf273707c4.tar.gz
Refactor is(SPACE|PSXSP)_(uni|utf8) macros and utf8.c
This refactors the isSPACE_uni, is_SPACE_utf8, isPSXSPC_uni, and is_PSXSPC_utf8 macros in handy.h, so that no function call need be done to handle above Latin1 input. These macros are quite small, and unlikely to grow over time, as Unicode has mostly finished adding white space equivalents to the Standard. The functions that implement these in utf8.c are also changed to use the macros instead of generating a swash. This should speed things up slightly, with less memory used over time as the swash fills.
Diffstat (limited to 'utf8.c')
-rw-r--r--utf8.c6
1 files changed, 2 insertions, 4 deletions
diff --git a/utf8.c b/utf8.c
index 7092d0648e..56213176f0 100644
--- a/utf8.c
+++ b/utf8.c
@@ -1521,9 +1521,7 @@ Perl_is_uni_blank(pTHX_ UV c)
bool
Perl_is_uni_space(pTHX_ UV c)
{
- U8 tmpbuf[UTF8_MAXBYTES+1];
- uvchr_to_utf8(tmpbuf, c);
- return is_utf8_space(tmpbuf);
+ return isSPACE_uni(c);
}
bool
@@ -2067,7 +2065,7 @@ Perl_is_utf8_space(pTHX_ const U8 *p)
PERL_ARGS_ASSERT_IS_UTF8_SPACE;
- return is_utf8_common(p, &PL_utf8_space, "IsXPerlSpace");
+ return isSPACE_utf8(p);
}
bool