aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/DBCS.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/DBCS.h')
-rw-r--r--src/DBCS.h6
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 {