diff options
author | Tarek Mahmoud Sayed <tarekms@microsoft.com> | 2017-03-03 14:50:38 -0800 |
---|---|---|
committer | Jan Kotas <jkotas@microsoft.com> | 2017-03-03 14:50:38 -0800 |
commit | 63757399c44f92ac2e89a83a70cf27c53cfa16c0 (patch) | |
tree | ad665adc2eae34da444bf54dcc4950aba0f12d81 /src/classlibnative/nls | |
parent | 97d60cb7ef503ae698b784804530dbe59fdb575b (diff) | |
download | coreclr-63757399c44f92ac2e89a83a70cf27c53cfa16c0.tar.gz coreclr-63757399c44f92ac2e89a83a70cf27c53cfa16c0.tar.bz2 coreclr-63757399c44f92ac2e89a83a70cf27c53cfa16c0.zip |
Clean up Normalization code (#9941)
Diffstat (limited to 'src/classlibnative/nls')
-rw-r--r-- | src/classlibnative/nls/nlsinfo.cpp | 150 |
1 files changed, 0 insertions, 150 deletions
diff --git a/src/classlibnative/nls/nlsinfo.cpp b/src/classlibnative/nls/nlsinfo.cpp index b1d65e3bfa..fa288c0e0a 100644 --- a/src/classlibnative/nls/nlsinfo.cpp +++ b/src/classlibnative/nls/nlsinfo.cpp @@ -51,16 +51,6 @@ // Language ID for CHT (Hong-Kong) #define LANGID_ZH_HK 0x0c04 -#ifndef FEATURE_COREFX_GLOBALIZATION -// -// Normalization Implementation -// -#define NORMALIZATION_DLL MAKEDLLNAME(W("normalization")) -HMODULE COMNlsInfo::m_hNormalization = NULL; -PFN_NORMALIZATION_IS_NORMALIZED_STRING COMNlsInfo::m_pfnNormalizationIsNormalizedStringFunc = NULL; -PFN_NORMALIZATION_NORMALIZE_STRING COMNlsInfo::m_pfnNormalizationNormalizeStringFunc = NULL; -PFN_NORMALIZATION_INIT_NORMALIZATION COMNlsInfo::m_pfnNormalizationInitNormalizationFunc = NULL; -#endif // FEATURE_COREFX_GLOBALIZATION INT32 COMNlsInfo::CallGetUserDefaultUILanguage() { @@ -185,146 +175,6 @@ FCIMPL0(CodePageDataItem *, COMNlsInfo::nativeGetCodePageTableDataPointer) } FCIMPLEND -#ifndef FEATURE_COREFX_GLOBALIZATION -// -// Normalization -// - -FCIMPL6(int, COMNlsInfo::nativeNormalizationNormalizeString, - int NormForm, int& iError, - StringObject* inChars, int inLength, - CHARArray* outChars, int outLength ) -{ - CONTRACTL - { - FCALL_CHECK; - PRECONDITION(CheckPointer(inChars)); - PRECONDITION(CheckPointer(outChars, NULL_OK)); - } CONTRACTL_END; - - // Dereference our string - STRINGREF inString(inChars); - LPWSTR inCharsBuffer = inString->GetBuffer(); - - CHARARRAYREF outCharArray(outChars); - LPWSTR outCharsBuffer = (outCharArray != NULL) ? ((LPWSTR) (outCharArray->GetDirectPointerToNonObjectElements())) : NULL; - - // The OS APIs do not always set last error in success, so we have to do it explicitly - SetLastError(ERROR_SUCCESS); - - int iResult = m_pfnNormalizationNormalizeStringFunc( - NormForm, inCharsBuffer, inLength, outCharsBuffer, outLength); - - // Get our error if necessary - if (iResult <= 0) - { - // if the length is <= 0 there was an error - iError = GetLastError(); - - // Go ahead and return positive lengths/indexes so we don't get confused - iResult = -iResult; - } - else - { - iError = 0; // ERROR_SUCCESS - } - - return iResult; -} -FCIMPLEND - -FCIMPL4( FC_BOOL_RET, COMNlsInfo::nativeNormalizationIsNormalizedString, - int NormForm, int& iError, - StringObject* chars, int inLength ) -{ - CONTRACTL - { - FCALL_CHECK; - PRECONDITION(CheckPointer(chars)); - } CONTRACTL_END; - - STRINGREF inString(chars); - LPWSTR charsBuffer = inString->GetBuffer(); - - // The OS APIs do not always set last error in success, so we have to do it explicitly - SetLastError(ERROR_SUCCESS); - - // Ask if its normalized - BOOL bResult = m_pfnNormalizationIsNormalizedStringFunc( NormForm, charsBuffer, inLength); - - // May need an error - if (bResult == false) - { - // If its false there may have been an error - iError = GetLastError(); - } - else - { - iError = 0; // ERROR_SUCCESS - } - - FC_RETURN_BOOL(bResult); -} -FCIMPLEND - -void QCALLTYPE COMNlsInfo::nativeNormalizationInitNormalization(int NormForm, BYTE* pTableData) -{ - QCALL_CONTRACT; - - BEGIN_QCALL; - - if (m_hNormalization == NULL) - { - HMODULE hNormalization = NULL; - - if (pTableData == NULL) - { - // Use OS implementation - hNormalization = GetModuleHandleW(W("kernel32.dll")); - if (!hNormalization) - ThrowLastError(); - } - - _ASSERTE(hNormalization != NULL); - m_hNormalization = hNormalization; - } - - if (m_pfnNormalizationIsNormalizedStringFunc == NULL) - { - FARPROC pfn = GetProcAddress(m_hNormalization, "IsNormalizedString"); - if (pfn == NULL) - ThrowLastError(); - m_pfnNormalizationIsNormalizedStringFunc = (PFN_NORMALIZATION_IS_NORMALIZED_STRING)pfn; - } - - if (m_pfnNormalizationNormalizeStringFunc == NULL) - { - FARPROC pfn = GetProcAddress(m_hNormalization, "NormalizeString"); - if (pfn == NULL) - ThrowLastError(); - m_pfnNormalizationNormalizeStringFunc = (PFN_NORMALIZATION_NORMALIZE_STRING)pfn; - } - - if (pTableData != NULL) - { - if (m_pfnNormalizationInitNormalizationFunc == NULL) - { - FARPROC pfn = GetProcAddress(m_hNormalization, "InitNormalization"); - if (pfn == NULL) - ThrowLastError(); - m_pfnNormalizationInitNormalizationFunc = (PFN_NORMALIZATION_INIT_NORMALIZATION)pfn; - } - - BYTE* pResult = m_pfnNormalizationInitNormalizationFunc( NormForm, pTableData); - if (pResult == NULL) - ThrowOutOfMemory(); - } - - END_QCALL; -} - -#endif // FEATURE_COREFX_GLOBALIZATION - /** * This function returns the number of items in EncodingDataTable. */ |