mirror of
https://github.com/keymanapp/keyman.git
synced 2026-08-07 17:36:00 +00:00
Merge branch 'master' of https://github.com/keymanapp/keyman into refactor/developer/6026-kmcompx-compiler-cross-platform-part-2-NEW_VERSION # Conflicts: # common/core/desktop/src/kmx/kmx_context.h # common/core/desktop/src/kmx/kmx_processor.cpp # common/windows/cpp/include/keymanversion.h # common/windows/cpp/include/kkmnkbd/Compfile.h # common/windows/cpp/include/kmtip_guids.h # common/windows/cpp/src/kmtip_guids.cpp # core/src/kmx/kmx_conversion.cpp # core/src/kmx/kmx_conversion.h # core/src/kmx/kmx_file.cpp # core/src/kmx/kmx_processevent.cpp # core/src/kmx/kmx_processor.hpp # core/src/kmx/kmx_xstring.cpp # developer/js/.gitignore # developer/js/package-lock.json # developer/js/tests/tsconfig.json # developer/src/kmcmpdll/CasedKeys.cpp # developer/src/kmcmpdll/CheckFilenameConsistency.cpp # developer/src/kmcmpdll/CheckFilenameConsistency.h # developer/src/kmcmpdll/CheckForDuplicates.cpp # developer/src/kmcmpdll/CheckForDuplicates.h # developer/src/kmcmpdll/CheckNCapsConsistency.cpp # developer/src/kmcmpdll/CheckNCapsConsistency.h # developer/src/kmcmpdll/Compiler.cpp # developer/src/kmcmpdll/DeprecationChecks.cpp # developer/src/kmcmpdll/NamedCodeConstants.cpp # developer/src/kmcmpdll/UnreachableRules.cpp # developer/src/kmcmpdll/UnreachableRules.h # developer/src/kmcmpdll/compfile.h # developer/src/kmcmpdll/kcframe/kcframe.cpp # developer/src/kmcmpdll/kcframe/kcframe.vcxproj # developer/src/kmcmpdll/kcframe/kcframe.vcxproj.filters # developer/src/kmcmpdll/kmcmpdll.vcxproj # developer/src/kmcmpdll/kmcmpdll.vcxproj.filters # developer/src/kmcmpdll/version.rc # developer/src/kmcmpdll/versioning.cpp # developer/src/kmlmc/bundle.sh # developer/src/kmlmc/tests/test-join-word-breaker.ts # developer/src/kmlmc/tests/test-override-script-defaults.ts # developer/src/server/tsconfig.json # windows/src/developer/kmcmpdll/Makefile # windows/src/developer/kmcmpdll/vkeys.h # windows/src/engine/keyman32/keymanengine.h # windows/src/global/inc/Vkeys.h # windows/src/global/inc/rc4.h # windows/src/global/vc/rc4.cpp
56 lines
1.8 KiB
C++
56 lines
1.8 KiB
C++
|
|
|
|
|
|
|
|
#include "../../../../developer/kmcompx/include/pch.h" // _S2 #include "pch"
|
|
#include "../../../../developer/kmcompx/include/Compfile.h" // _S2 #include <Compfile.h>
|
|
#include "../../../../developer/kmcompx/include/compiler.h" // _S2 #include <compiler.h>
|
|
#include "../../../../developer/kmcompx/include/comperr.h" // _S2 #include <comperr.h>
|
|
#include "../../../../developer/kmcompx/include/kmcmpdll.h" // _S2 #include <kmcmpdll.h>
|
|
|
|
/*
|
|
#include "pch.h"
|
|
#include <compfile.h>
|
|
#include <compiler.h>
|
|
#include <comperr.h>
|
|
#include <kmcmpdll.h>
|
|
*/
|
|
#include "CheckForDuplicates.h"
|
|
|
|
|
|
KMX_DWORD CheckForDuplicateGroup(PFILE_KEYBOARD fk, PFILE_GROUP gp) noexcept {
|
|
KMX_DWORD i;
|
|
PFILE_GROUP gp0 = fk->dpGroupArray;
|
|
for (i = 0; i < fk->cxGroupArray; i++, gp0++) {
|
|
if (gp0 == gp) {
|
|
continue;
|
|
}
|
|
if (u16icmp(gp0->szName, gp->szName) == 0) // _S2 if (_wcsicmp(gp0->szName, gp->szName) == 0)
|
|
{
|
|
// _ S2 needs to be included again // wsprintf(ErrExtra, "Group '%ls' declared on line %d", gp0->szName, gp0->Line);
|
|
return CERR_DuplicateGroup;
|
|
}
|
|
}
|
|
return CERR_None;
|
|
}
|
|
|
|
KMX_DWORD CheckForDuplicateStore(PFILE_KEYBOARD fk, PFILE_STORE sp) noexcept {
|
|
if (!sp->szName[0]) {
|
|
// Stores with zero length names are reserved system stores.
|
|
// They cannot be defined in user code. This is not an issue.
|
|
return CERR_None;
|
|
}
|
|
KMX_DWORD i;
|
|
PFILE_STORE sp0 = fk->dpStoreArray;
|
|
for (i = 0; i < fk->cxStoreArray; i++, sp0++) {
|
|
if (sp0 == sp) {
|
|
continue;
|
|
}
|
|
if (u16icmp(sp0->szName, sp->szName) == 0) // _S2 if (_wcsicmp(sp0->szName, sp->szName) == 0)
|
|
{
|
|
// _ S2 needs to be included again // wsprintf(ErrExtra, "Store '%ls' declared on line %d", sp0->szName, sp0->line);
|
|
return CERR_DuplicateStore;
|
|
}
|
|
}
|
|
return CERR_None;
|
|
}
|