Display the correct uninstaller langstring name in the recursive error string

git-svn-id: https://svn.code.sf.net/p/nsis/code/NSIS/trunk@6718 212acab6-be3b-0410-9dea-997c60f758d6
This commit is contained in:
anders_k 2016-03-09 22:33:27 +00:00
parent 4a21c7113d
commit 5c09fdf003

View file

@ -617,13 +617,7 @@ int CEXEBuild::GenerateLangTable(LanguageTable *lt, int num_lang_tables) {
{
TinyGrowBuf rec;
int *lst = (int *)string_ptrs[i].get();
int langstring_num;
if (!uninstall_mode)
langstring_num = build_langstring_num;
else
langstring_num = ubuild_langstring_num;
int langstring_num = uninstall_mode ? ubuild_langstring_num : build_langstring_num;
for (j = 0; j < langstring_num; j++)
{
@ -639,12 +633,13 @@ int CEXEBuild::GenerateLangTable(LanguageTable *lt, int num_lang_tables) {
const TCHAR *name = _T("(unnamed)");
for (l = 0; l < langstring_num; l++)
{
if (lang_strings[l].index == j)
int recidx = uninstall_mode ? lang_strings[l].uindex : lang_strings[l].index;
if (recidx == j)
{
name = build_langstrings.offset2name(lang_strings[l].name);
}
}
ERROR_MSG(_T("Error: LangString %") NPRIs _T(" is recursive!\n"), name);
ERROR_MSG(_T("Error: LangString %") NPRIs _T(" in language %u is recursive!\n"), name, lt->lang_id);
delete [] string_ptrs;
return PS_ERROR;
}