View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0002908 | Far Manager | Descriptions | public | 2015-01-17 19:10 | 2015-01-17 21:13 |
Reporter | pm_kan | Assigned To | DrKnS | ||
Priority | normal | Severity | minor | Reproducibility | always |
Status | closed | Resolution | fixed | ||
Platform | x86 | OS | Windows | OS Version | 8 |
Product Version | 3.0 | ||||
Fixed in Version | 3.0 | ||||
Summary | 0002908: Исключение пи попытке отображения описания при некорректном Descript.ion | ||||
Description | Если Descript.ion содержит строку, начинающуюся с кавычки, но не содержит второй кавычки, при попытке отображения описания для любого файла из каталога (Ctrl+Z) (или удаления любого файла, если в настройках "Описания файлов" выбрано "всегда обновлять") возникает исключение out_of_range. | ||||
Steps To Reproduce | 1. Создать файл Descript.ion содержащий строку "aa 2. Просмотреть описание для любого файла из этого каталога (Ctrl+Z) | ||||
Additional Information | Примерный патч приложен. | ||||
Tags | No tags attached. | ||||
Build | 4243 | ||||
|
dizlist.cpp.patch (1,030 bytes)
Index: unicode_far/dizlist.cpp =================================================================== --- unicode_far/dizlist.cpp (revision 12834) +++ unicode_far/dizlist.cpp (working copy) @@ -171,7 +171,7 @@ DizList::desc_map::iterator DizList::AddRecord(const string& DizText) { - size_t NameStart = 0, NameLength = 0; + size_t NameStart = 0, NameLength = 0, DescStart = 0; const wchar_t* DizTextPtr = DizText.data(); if (*DizTextPtr == L'\"') { @@ -183,6 +183,7 @@ DizTextPtr++; NameLength++; } + DescStart = NameStart + NameLength + (*DizTextPtr ? 1 : 0) ; } else { @@ -191,9 +192,9 @@ DizTextPtr++; NameLength++; } + DescStart = NameLength; } - - return AddRecord(DizText.substr(NameStart, NameLength), DizText.substr(NameLength + (NameStart? 2: 0))); + return AddRecord(DizText.substr(NameStart, NameLength), DizText.substr(DescStart)); } const wchar_t* DizList::GetDizTextAddr(const string& Name, const string& ShortName, const __int64 FileSize) |
Date Modified | Username | Field | Change |
---|---|---|---|
2015-01-17 19:10 | pm_kan | New Issue | |
2015-01-17 19:10 | pm_kan | File Added: dizlist.cpp.patch | |
2015-01-17 21:00 | DrKnS | Assigned To | => DrKnS |
2015-01-17 21:00 | DrKnS | Status | new => assigned |
2015-01-17 21:13 | DrKnS | Build | => 4243 |
2015-01-17 21:13 | DrKnS | Status | assigned => closed |
2015-01-17 21:13 | DrKnS | Resolution | open => fixed |
2015-01-17 21:13 | DrKnS | Fixed in Version | => 3.0 |