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
1 changed files with 13 additions and 5 deletions

View File

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