From 7cda89def98c7fe8604f7a6703cb79c246307621 Mon Sep 17 00:00:00 2001 From: Sabine Date: Thu, 12 Jan 2023 16:32:17 +0100 Subject: [PATCH] chore(developer): get rid of reopened namespaces of kmcmp --- .../src/kmcmplib/src/CharToKeyConversion.cpp | 2 +- .../src/kmcmplib/src/CharToKeyConversion.h | 5 +- developer/src/kmcmplib/src/Compiler.cpp | 126 +++++++++--------- .../src/kmcmplib/src/NamedCodeConstants.cpp | 24 ++-- developer/src/kmcmplib/src/kmcmpdll.h | 8 +- 5 files changed, 82 insertions(+), 83 deletions(-) diff --git a/developer/src/kmcmplib/src/CharToKeyConversion.cpp b/developer/src/kmcmplib/src/CharToKeyConversion.cpp index fbbb4fa6f6..dd96a67079 100644 --- a/developer/src/kmcmplib/src/CharToKeyConversion.cpp +++ b/developer/src/kmcmplib/src/CharToKeyConversion.cpp @@ -4,7 +4,7 @@ /* Following code lifted from syskbd.cpp and tweaked for compiler use. Todo: consolidate */ -KMX_WCHAR VKToChar(KMX_WORD keyCode, KMX_UINT shiftFlags) +KMX_WCHAR kmcmp::VKToChar(KMX_WORD keyCode, KMX_UINT shiftFlags) { KMX_CHAR shiftedDigit[] = ")!@#$%^&*("; int n, Shift; diff --git a/developer/src/kmcmplib/src/CharToKeyConversion.h b/developer/src/kmcmplib/src/CharToKeyConversion.h index 57efb4ec24..fafe4fad1c 100644 --- a/developer/src/kmcmplib/src/CharToKeyConversion.h +++ b/developer/src/kmcmplib/src/CharToKeyConversion.h @@ -15,6 +15,5 @@ namespace kmcmp { KMX_BOOL MapUSCharToVK(KMX_UINT ch, KMX_UINT *puKey, KMX_UINT *puShiftFlags); -} - -KMX_WCHAR VKToChar(KMX_WORD keyCode, KMX_UINT shiftFlags); + KMX_WCHAR VKToChar(KMX_WORD keyCode, KMX_UINT shiftFlags); +} \ No newline at end of file diff --git a/developer/src/kmcmplib/src/Compiler.cpp b/developer/src/kmcmplib/src/Compiler.cpp index 4bf8a7030a..ddd5ff2434 100644 --- a/developer/src/kmcmplib/src/Compiler.cpp +++ b/developer/src/kmcmplib/src/Compiler.cpp @@ -98,11 +98,32 @@ using namespace kmcmp; namespace kmcmp{ + + HINSTANCE g_hInstance; + KMX_BOOL FWarnDeprecatedCode; + KMX_BOOL FShouldAddCompilerVersion = TRUE; + KMX_BOOL FSaveDebug, FCompilerWarningsAsErrors; // I4865 // I4866 + int ErrChr; + int nErrors = 0; + KMX_CHAR ErrExtra[256]; + KMX_BOOL FMnemonicLayout = FALSE; + KMX_BOOL FOldCharPosMatching = FALSE; + int CompileTarget; + KMX_CHAR CompileDir[MAX_PATH]; + + KMX_BOOL WINAPI DllMain(HINSTANCE hinst, KMX_DWORD fdwReason, LPVOID lpvReserved) + { + if (fdwReason == DLL_PROCESS_ATTACH) kmcmp::g_hInstance = hinst; + return TRUE; + } + KMX_BOOL IsValidCallStore(PFILE_STORE fs); void RecordDeadkeyNames(PFILE_KEYBOARD fk); DWORD AddCompilerVersionStore(PFILE_KEYBOARD fk); KMX_BOOL CheckStoreUsage(PFILE_KEYBOARD fk, int storeIndex, KMX_BOOL fIsStore, KMX_BOOL fIsOption, KMX_BOOL fIsCall); int UTF32ToUTF16(int n, int *n1, int *n2); + int CheckUTF16(int n); + int cmpkeys(const void *key, const void *elem); } int xatoi(PKMX_WCHAR *p); @@ -217,21 +238,6 @@ enum LinePrefixType { lptNone, lptKeymanAndKeymanWeb, lptKeymanWebOnly, lptKeyma /* Compile target */ -namespace kmcmp{ - HINSTANCE g_hInstance; - KMX_BOOL FWarnDeprecatedCode; - KMX_BOOL FShouldAddCompilerVersion = TRUE; - KMX_BOOL FSaveDebug, FCompilerWarningsAsErrors; // I4865 // I4866 - int ErrChr; - int nErrors = 0; - KMX_CHAR ErrExtra[256]; - KMX_BOOL FMnemonicLayout = FALSE; - KMX_BOOL FOldCharPosMatching = FALSE; - int CompileTarget; - KMX_CHAR CompileDir[MAX_PATH]; -} - - CompilerMessageProc msgproc = NULL; int kmcmp::currentLine = 0; @@ -246,11 +252,6 @@ int BeginLine[4]; #define CKF_KEYMANWEB 1 namespace kmcmp { - KMX_BOOL WINAPI DllMain(HINSTANCE hinst, KMX_DWORD fdwReason, LPVOID lpvReserved) - { - if (fdwReason == DLL_PROCESS_ATTACH) kmcmp::g_hInstance = hinst; - return TRUE; - } } PKMX_WCHAR strtowstr(PKMX_STR in) @@ -995,32 +996,32 @@ KMX_DWORD ProcessGroupLine(PFILE_KEYBOARD fk, PKMX_WCHAR p) return CheckForDuplicateGroup(fk, gp); } -namespace kmcmp { - int cmpkeys(const void *key, const void *elem) + +int kmcmp::cmpkeys(const void *key, const void *elem) +{ + PFILE_KEY akey; + PFILE_KEY aelem; + int l1, l2; + KMX_WCHAR char_key, char_elem; + akey = (PFILE_KEY)key; + aelem = (PFILE_KEY)elem; + char_key = kmcmp::VKToChar(akey->Key, akey->ShiftFlags); + char_elem = kmcmp::VKToChar(aelem->Key, aelem->ShiftFlags); + if (char_key == char_elem) //akey->Key == aelem->Key) { - PFILE_KEY akey; - PFILE_KEY aelem; - int l1, l2; - KMX_WCHAR char_key, char_elem; - akey = (PFILE_KEY)key; - aelem = (PFILE_KEY)elem; - char_key = VKToChar(akey->Key, akey->ShiftFlags); - char_elem = VKToChar(aelem->Key, aelem->ShiftFlags); - if (char_key == char_elem) //akey->Key == aelem->Key) + l1 = xstrlen(akey->dpContext); l2 = xstrlen(aelem->dpContext); + if (l1 == l2) { - l1 = xstrlen(akey->dpContext); l2 = xstrlen(aelem->dpContext); - if (l1 == l2) - { - if (akey->Line < aelem->Line) return -1; - if (akey->Line > aelem->Line) return 1; - return 0; - } - if (l1 < l2) return 1; - if (l1 > l2) return -1; + if (akey->Line < aelem->Line) return -1; + if (akey->Line > aelem->Line) return 1; + return 0; } - return(char_key - char_elem); // akey->Key - aelem->Key); + if (l1 < l2) return 1; + if (l1 > l2) return -1; } + return(char_key - char_elem); // akey->Key - aelem->Key); } + KMX_DWORD ProcessGroupFinish(PFILE_KEYBOARD fk) { PFILE_GROUP gp; @@ -3425,8 +3426,11 @@ KMX_DWORD ReadLine(FILE* fp_in , PKMX_WCHAR wstr, KMX_BOOL PreProcess) if (cur == fsize) // Always a "\r\n" to the EOF, avoids funny bugs - u16ncat(str, u"\r\n", _countof(str)); // I3481 - //u16ncat(str, u"\n", _countof(str)); // I3481 +#if defined(_WIN32) || defined(_WIN64) + u16ncat(str, u"\r\n", _countof(str)); // I3481 +#else + u16ncat(str, u"\n", _countof(str)); // I3481 +#endif if (len == 0) return CERR_EndOfFile; @@ -3629,26 +3633,26 @@ int atoiW(PKMX_WCHAR p) delete[] q; return i; } -namespace kmcmp { - int CheckUTF16(int n) - { - const int res[] = { - 0xFDD0, 0xFDD1, 0xFDD2, 0xFDD3, 0xFDD4, 0xFDD5, 0xFDD6, 0xFDD7, - 0xFDD8, 0xFDD9, 0xFDDA, 0xFDDB, 0xFDDC, 0xFDDD, 0xFDDE, 0xFDDF, - 0xFDE0, 0xFDE1, 0xFDE2, 0xFDE3, 0xFDE4, 0xFDE5, 0xFDE6, 0xFDE7, - 0xFDE8, 0xFDE9, 0xFDEA, 0xFDEB, 0xFDEC, 0xFDED, 0xFDEE, 0xFDEF, - 0xFFFF, 0xFFFE, 0 }; - if (n == 0) return CERR_ReservedCharacter; - for (int i = 0; res[i] > 0; i++) - if (n == res[i]) - { - AddWarning(CWARN_ReservedCharacter); - break; - } - return CERR_None; - } +int kmcmp::CheckUTF16(int n) +{ + const int res[] = { + 0xFDD0, 0xFDD1, 0xFDD2, 0xFDD3, 0xFDD4, 0xFDD5, 0xFDD6, 0xFDD7, + 0xFDD8, 0xFDD9, 0xFDDA, 0xFDDB, 0xFDDC, 0xFDDD, 0xFDDE, 0xFDDF, + 0xFDE0, 0xFDE1, 0xFDE2, 0xFDE3, 0xFDE4, 0xFDE5, 0xFDE6, 0xFDE7, + 0xFDE8, 0xFDE9, 0xFDEA, 0xFDEB, 0xFDEC, 0xFDED, 0xFDEE, 0xFDEF, + 0xFFFF, 0xFFFE, 0 }; + + if (n == 0) return CERR_ReservedCharacter; + for (int i = 0; res[i] > 0; i++) + if (n == res[i]) + { + AddWarning(CWARN_ReservedCharacter); + break; + } + return CERR_None; } + int kmcmp::UTF32ToUTF16(int n, int *n1, int *n2) { *n2 = -1; diff --git a/developer/src/kmcmplib/src/NamedCodeConstants.cpp b/developer/src/kmcmplib/src/NamedCodeConstants.cpp index 59ff48b5ea..1d096a2c34 100644 --- a/developer/src/kmcmplib/src/NamedCodeConstants.cpp +++ b/developer/src/kmcmplib/src/NamedCodeConstants.cpp @@ -28,13 +28,19 @@ #include using namespace kmcmp; -namespace kmcmp { - extern KMX_CHAR CompileDir[]; -} - int IsHangulSyllable(const KMX_WCHAR *codename, int *code); namespace kmcmp { + extern KMX_CHAR CompileDir[]; + + int __cdecl sort_entries(const void *elem1, const void *elem2) + { + return u16icmp( + ((NCCENTRY *)elem1)->name, + ((NCCENTRY *)elem2)->name); + } + + KMX_BOOL FileExists(const KMX_CHAR *filename) { intptr_t n; @@ -118,14 +124,8 @@ void NamedCodeConstants::AddCode_IncludedCodes(int n, const KMX_WCHAR *p) nEntries++; } -namespace kmcmp { - int __cdecl sort_entries(const void *elem1, const void *elem2) - { - return u16icmp( - ((NCCENTRY *)elem1)->name, - ((NCCENTRY *)elem2)->name); - } -} +// int __cdecl sort_entries(const void *elem1, const void *elem2) moved into namespace further up + KMX_BOOL NamedCodeConstants::IntLoadFile(const KMX_CHAR *filename) { const int str_size = 256; diff --git a/developer/src/kmcmplib/src/kmcmpdll.h b/developer/src/kmcmplib/src/kmcmpdll.h index cdbd744177..0c9e91651d 100644 --- a/developer/src/kmcmplib/src/kmcmpdll.h +++ b/developer/src/kmcmplib/src/kmcmpdll.h @@ -4,6 +4,8 @@ namespace kmcmp { KMX_BOOL AddCompileString(LPSTR buf); + extern BOOL FWarnDeprecatedCode; + extern int currentLine; } KMX_BOOL AddCompileMessage(KMX_DWORD msg); @@ -13,11 +15,5 @@ KMX_BOOL AddCompileMessage(KMX_DWORD msg); #define SetError(err) { if(AddCompileMessage(err) || (err & CERR_FATAL)) return FALSE; } #define AddWarning(warn) { if(AddCompileMessage(warn)) return FALSE; } -namespace kmcmp { - extern BOOL FWarnDeprecatedCode; - extern int currentLine; -} - - PKMX_WCHAR strtowstr(PKMX_STR in); PFILE_STORE FindSystemStore(PFILE_KEYBOARD fk, KMX_DWORD dwSystemID);