Fix incorrect plugin architecture reports partially

Fix partially #12565

Close #12566
This commit is contained in:
xomx 2022-11-24 16:12:07 +01:00 committed by Don Ho
parent f03381e779
commit 6b34f9ce08

View File

@ -116,11 +116,19 @@ int PluginsManager::loadPluginFromPath(const TCHAR *pluginFilePath)
int archType = nppParams.archType(); int archType = nppParams.archType();
if (getBinaryArchitectureType(pluginFilePath) != archType) if (getBinaryArchitectureType(pluginFilePath) != archType)
{ {
const TCHAR *archErrMsg = TEXT("Cannot load 64-bit plugin."); // IMAGE_FILE_MACHINE_I386 by default const TCHAR* archErrMsg = TEXT("Cannot load plugin.");
if (archType == IMAGE_FILE_MACHINE_ARM64) switch (archType)
archErrMsg = TEXT("Cannot load 32-bit or non-ARM64 plugin."); {
else if(archType == IMAGE_FILE_MACHINE_AMD64) case IMAGE_FILE_MACHINE_ARM64:
archErrMsg = TEXT("Cannot load ARM64 plugin.");
break;
case IMAGE_FILE_MACHINE_I386:
archErrMsg = TEXT("Cannot load 32-bit plugin."); archErrMsg = TEXT("Cannot load 32-bit plugin.");
break;
case IMAGE_FILE_MACHINE_AMD64:
archErrMsg = TEXT("Cannot load 64-bit plugin.");
break;
}
throw generic_string(archErrMsg); throw generic_string(archErrMsg);
} }