summaryrefslogtreecommitdiff
path: root/src/classlibnative
diff options
context:
space:
mode:
authordanmosemsft <danmose@microsoft.com>2017-02-11 07:20:12 -0800
committerdanmosemsft <danmose@microsoft.com>2017-02-11 07:20:12 -0800
commit56d4ba8a9338c3ff7378d18378f38ad847f130f2 (patch)
tree40b9463880286b1bc0b4c3f858680f1ff210c933 /src/classlibnative
parent8be2f9bb0039e2c49f59c4fb66cebf5467485ba2 (diff)
downloadcoreclr-56d4ba8a9338c3ff7378d18378f38ad847f130f2.tar.gz
coreclr-56d4ba8a9338c3ff7378d18378f38ad847f130f2.tar.bz2
coreclr-56d4ba8a9338c3ff7378d18378f38ad847f130f2.zip
Revert "Remove always defined FEATURE_CORESYSTEM"
This reverts commit 751771a8976f909af772e35c167bd7e3ffbe44c8.
Diffstat (limited to 'src/classlibnative')
-rw-r--r--src/classlibnative/nls/nlsinfo.cpp20
1 files changed, 20 insertions, 0 deletions
diff --git a/src/classlibnative/nls/nlsinfo.cpp b/src/classlibnative/nls/nlsinfo.cpp
index 4a4c294551..44ed542234 100644
--- a/src/classlibnative/nls/nlsinfo.cpp
+++ b/src/classlibnative/nls/nlsinfo.cpp
@@ -2065,6 +2065,26 @@ BOOL QCALLTYPE COMNlsInfo::InternalTryFindStringOrdinalIgnoreCase(
lpSearchStart = &lpStringSource[sourceIndex];
}
{
+#ifndef FEATURE_CORESYSTEM
+ // kernel function pointer
+ typedef int (WINAPI *PFNFindStringOrdinal)(DWORD, LPCWSTR, INT, LPCWSTR, INT, BOOL);
+ static PFNFindStringOrdinal FindStringOrdinal = NULL;
+
+ // initizalize kernel32!FindStringOrdinal
+ if (FindStringOrdinal == NULL)
+ {
+ PFNFindStringOrdinal result = NULL;
+
+ HMODULE hMod=WszGetModuleHandle(WINDOWS_KERNEL32_DLLNAME_W);
+ if(hMod != NULL)
+ result=(PFNFindStringOrdinal)GetProcAddress(hMod,"FindStringOrdinal");
+
+ FindStringOrdinal = (result != NULL) ? result : (PFNFindStringOrdinal)-1;
+ }
+
+ // call into the kernel
+ if (FindStringOrdinal != (PFNFindStringOrdinal)-1)
+#endif
{
*foundIndex = FindStringOrdinal(
dwFindNLSStringFlags,