This is a live mirror of the Perl 5 development currently hosted at
https://github.com/perl/perl5
https://perl5.git.perl.org
/
perl5.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
utf8.c: Use mnemonics instead of hex numbers
[perl5.git]
/
utf8.c
diff --git
a/utf8.c
b/utf8.c
index
511e845
..
2f4035b
100644
(file)
--- a/
utf8.c
+++ b/
utf8.c
@@
-1430,17
+1430,22
@@
Perl_utf16_to_utf8(pTHX_ U8* p, U8* d, I32 bytelen, I32 *newlen)
*d++ = (U8)(( uv & 0x3f) | 0x80);
continue;
}
*d++ = (U8)(( uv & 0x3f) | 0x80);
continue;
}
- if (uv >= 0xd800 && uv <= 0xdbff) { /* surrogates */
+#define FIRST_HIGH_SURROGATE UNICODE_SURROGATE_FIRST
+#define LAST_HIGH_SURROGATE 0xDBFF
+#define FIRST_LOW_SURROGATE 0xDC00
+#define LAST_LOW_SURROGATE UNICODE_SURROGATE_LAST
+ if (uv >= FIRST_HIGH_SURROGATE && uv <= LAST_HIGH_SURROGATE) {
if (p >= pend) {
Perl_croak(aTHX_ "Malformed UTF-16 surrogate");
} else {
UV low = (p[0] << 8) + p[1];
p += 2;
if (p >= pend) {
Perl_croak(aTHX_ "Malformed UTF-16 surrogate");
} else {
UV low = (p[0] << 8) + p[1];
p += 2;
- if (low <
0xdc00 || low > 0xdfff
)
+ if (low <
FIRST_LOW_SURROGATE || low > LAST_LOW_SURROGATE
)
Perl_croak(aTHX_ "Malformed UTF-16 surrogate");
Perl_croak(aTHX_ "Malformed UTF-16 surrogate");
- uv = ((uv - 0xd800) << 10) + (low - 0xdc00) + 0x10000;
+ uv = ((uv - FIRST_HIGH_SURROGATE) << 10)
+ + (low - FIRST_LOW_SURROGATE) + 0x10000;
}
}
- } else if (uv >=
0xdc00 && uv <= 0xdfff
) {
+ } else if (uv >=
FIRST_LOW_SURROGATE && uv <= LAST_LOW_SURROGATE
) {
Perl_croak(aTHX_ "Malformed UTF-16 surrogate");
}
if (uv < 0x10000) {
Perl_croak(aTHX_ "Malformed UTF-16 surrogate");
}
if (uv < 0x10000) {
@@
-1512,8
+1517,10
@@
Perl_is_uni_alnumc(pTHX_ UV c)
return _is_utf8_FOO(_CC_ALPHANUMERIC, tmpbuf);
}
return _is_utf8_FOO(_CC_ALPHANUMERIC, tmpbuf);
}
-bool /* Internal function so we can deprecate the external one, and call
- this one from other deprecated functions in this file */
+/* Internal function so we can deprecate the external one, and call
+ this one from other deprecated functions in this file */
+
+PERL_STATIC_INLINE bool
S_is_utf8_idfirst(pTHX_ const U8 *p)
{
dVAR;
S_is_utf8_idfirst(pTHX_ const U8 *p)
{
dVAR;