diff options
Diffstat (limited to 'src/DBCS.h')
-rw-r--r-- | src/DBCS.h | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/src/DBCS.h b/src/DBCS.h index 12bbaf986..ba6230649 100644 --- a/src/DBCS.h +++ b/src/DBCS.h @@ -31,11 +31,9 @@ bool IsDBCSValidSingleByte(int codePage, int ch) noexcept; // Calculate a number from a DBCS byte pair that can be used to index into an array or map. // Should only be called with genuine DBCS character pairs which means that ch1 has top bit set. constexpr uint16_t DBCSIndex(char ch1, char ch2) noexcept { - constexpr unsigned int highStart = 0x80U; - constexpr unsigned int byteMultiply = 0x100U; - const unsigned char uch1 = ch1; + const unsigned char uch1 = ch1 & 0x7F; const unsigned char uch2 = ch2; - return ((uch1 - highStart) * byteMultiply) + uch2; + return (uch1 << 8) | uch2; } struct DBCSPair { |