From 5c09fdf00313251e50297a8b3f6f2a525888a524 Mon Sep 17 00:00:00 2001 From: anders_k Date: Wed, 9 Mar 2016 22:33:27 +0000 Subject: [PATCH] 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 --- Source/lang.cpp | 13 ++++--------- 1 file changed, 4 insertions(+), 9 deletions(-) diff --git a/Source/lang.cpp b/Source/lang.cpp index 1bb66ed9..94c0adc1 100644 --- a/Source/lang.cpp +++ b/Source/lang.cpp @@ -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; }