From 70aaeddefed228942c1dc38c930c8522aae62ec1 Mon Sep 17 00:00:00 2001 From: Rainer Kottenhoff Date: Tue, 16 Mar 2021 07:41:21 +0100 Subject: [PATCH] + fix: grepWinNP3: Language-ID "[xx-YY]" exceeds 5 chars (e.g. [es-419]) --- grepWinNP3/src/Settings.cpp | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/grepWinNP3/src/Settings.cpp b/grepWinNP3/src/Settings.cpp index e712e9453..e50e84c8c 100644 --- a/grepWinNP3/src/Settings.cpp +++ b/grepWinNP3/src/Settings.cpp @@ -192,8 +192,11 @@ LRESULT CSettingsDlg::DlgFunc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lPa std::wstring const ext = sPath.substr(dotpos); if (ext.compare(L".lang")) continue; - size_t const keypos = max(0, dotpos - 7); - std::wstring const lngKey = sPath.substr(keypos, (dotpos - keypos - 1)); + size_t const lngidbeg = sPath.find_last_of('['); + size_t const lngidend = sPath.find_last_of(']'); + if ((lngidbeg == std::wstring::npos) || (lngidend == std::wstring::npos) || (lngidend <= lngidbeg)) + continue; + std::wstring const lngKey = sPath.substr(lngidbeg, lngidend - lngidbeg + 1); langFileMap.insert({ lngKey, sPath }); }