summaryrefslogtreecommitdiff
path: root/src/binder/inc/applicationcontext.hpp
diff options
context:
space:
mode:
authorMikhail Kurinnoi/AI Compiler Lab /SRR/Staff Engineer/Samsung Electronics <m.kurinnoi@samsung.com>2020-06-26 01:30:09 +0300
committerWoongsuk Cho <ws77.cho@samsung.com>2021-01-29 11:37:41 +0900
commitb3e2e12d3748ee733f0bd47943a9a3576c9301b3 (patch)
tree29bec6b145b0215259810ddac64aa88849afbf92 /src/binder/inc/applicationcontext.hpp
parente03324d772bbe880f2c01bfc743e34c1a4f77d3d (diff)
downloadcoreclr-tizen_5.5_tv.tar.gz
coreclr-tizen_5.5_tv.tar.bz2
coreclr-tizen_5.5_tv.zip
Fix TPA map hash calculation. (#288)tizen_5.5_tv
* Fix TPA map hash calculation. The point of issue is "the Turkish-I Problem". After locale changed, towupper() provide another result for "i" and different hash are calculated in case if file name have "i" letter. * Regression test for #37910
Diffstat (limited to 'src/binder/inc/applicationcontext.hpp')
-rw-r--r--src/binder/inc/applicationcontext.hpp8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/binder/inc/applicationcontext.hpp b/src/binder/inc/applicationcontext.hpp
index 83893f33ce..f315b32c0d 100644
--- a/src/binder/inc/applicationcontext.hpp
+++ b/src/binder/inc/applicationcontext.hpp
@@ -71,8 +71,12 @@ namespace BINDER_SPACE
key = e.m_wszSimpleName;
return key;
}
- static count_t Hash(const key_t &str) { return HashiString(str); }
- static BOOL Equals(const key_t &lhs, const key_t &rhs) { LIMITED_METHOD_CONTRACT; return (_wcsicmp(lhs, rhs) == 0); }
+ static count_t Hash(const key_t &str)
+ {
+ SString ssKey(SString::Literal, str);
+ return ssKey.HashCaseInsensitive();
+ }
+ static BOOL Equals(const key_t &lhs, const key_t &rhs) { LIMITED_METHOD_CONTRACT; return (SString::_wcsicmp(lhs, rhs) == 0); }
void OnDestructPerEntryCleanupAction(const SimpleNameToFileNameMapEntry & e)
{