aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/UniConversion.h
diff options
context:
space:
mode:
authorNeil <nyamatongwe@gmail.com>2021-07-13 16:13:14 +1000
committerNeil <nyamatongwe@gmail.com>2021-07-13 16:13:14 +1000
commit92e04b39ccd38939d59b17fbf9d7764cba068412 (patch)
treec9ca0319d7bbb0de39bd2a91ac9f57d14dffa7b6 /src/UniConversion.h
parent667fb0b9f8485613f3d18f15dec3466d615c6097 (diff)
downloadscintilla-mirror-92e04b39ccd38939d59b17fbf9d7764cba068412.tar.gz
Restrict UTF8IsAscii to char and unsigned char to avoid failures when (signed)
char passed.
Diffstat (limited to 'src/UniConversion.h')
-rw-r--r--src/UniConversion.h7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/UniConversion.h b/src/UniConversion.h
index 73426beed..ead7aae57 100644
--- a/src/UniConversion.h
+++ b/src/UniConversion.h
@@ -48,10 +48,15 @@ inline constexpr bool UTF8IsTrailByte(unsigned char ch) noexcept {
return (ch >= 0x80) && (ch < 0xc0);
}
-inline constexpr bool UTF8IsAscii(int ch) noexcept {
+inline constexpr bool UTF8IsAscii(unsigned char ch) noexcept {
return ch < 0x80;
}
+inline constexpr bool UTF8IsAscii(char ch) noexcept {
+ const unsigned char uch = ch;
+ return uch < 0x80;
+}
+
enum { UTF8MaskWidth=0x7, UTF8MaskInvalid=0x8 };
int UTF8Classify(const unsigned char *us, size_t len) noexcept;
inline int UTF8Classify(std::string_view sv) noexcept {