View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0000898 | Far Manager 1.7x | Editor | public | 2009-05-31 14:39 | 2009-07-06 08:37 |
Reporter | sdindikov | Assigned To | vskirdin | ||
Priority | low | Severity | minor | Reproducibility | always |
Status | closed | Resolution | fixed | ||
Product Version | 1.75 | ||||
Fixed in Version | 1.75 | ||||
Summary | 0000898: недоработка: нет проверки на открываемый размер файла | ||||
Description | у меня настроено ограничение на размер открываемого файла в редакторе: например: edit:"Extreme Sheep LED Art.flv" +------------------ Редактор -------------------+ | E:\VIDEO\PRICOL\Extreme Sheep LED Art.flv | | имеет размер 15,460 К, | | что превышает заданное ограничение в 5,120 К. | | Вы хотите редактировать его? | | Да Нет | +-----------------------------------------------+ делаю: edit:\\.\PhysicalDrive0 или shift-F4 \\.\PhysicalDrive0 Пытается загнать всё в память и при достижении у меня 2гигов FAR валится. | ||||
Tags | No tags attached. | ||||
Build | 2584 | ||||
|
проверено на FAR1.75 2582 FAR2 966 OS:XPsp3 |
|
ты понимаешь, какое тут дело... если внимательно присмотреться к FileEditor::LoadFile, то увидим, что GetFileSize возвращает ошибку, т.к.... размера не удалось получить. В итоге в условие, где производится проверка размера, не попадаем. ideas? |
|
закрыть issue как wont fix, know bug или как то-то так :) я предпологал что в этом дело но мало ли... |
|
Ну так вроде Drkns уже это поправил, не? |
|
Но да, в 2.0. В 1.7 надо закрыть как wont fix. |
|
alexy он правил другое. |
|
alexy а почему для 2ки не wont fix? как там определяться размер будет? Ксати вариант если GetFileSize(Ex) вернула ошибку то может задать юзеру вопрос типа размер неудаётся определить всё равно загружать? или это уже лишний AI будет? :) |
|
Да поправил drkns это в 2.0 уже. bool apiGetFileSizeEx(HANDLE hFile, UINT64 &Size) { bool Result=false; if(GetFileSizeEx(hFile,reinterpret_cast<PLARGE_INTEGER>(&Size))) { Result=true; } else { GET_LENGTH_INFORMATION gli; DWORD BytesReturned; if(DeviceIoControl(hFile,IOCTL_DISK_GET_LENGTH_INFO,NULL,0,&gli,sizeof(gli),&BytesReturned,NULL)) { Size=gli.Length.QuadPart; Result=true; } } return Result; } |
|
я так понимаю, что в масдаях вот этого чудища GET_LENGTH_INFORMATION нет? |
|
хмм... тут подумалось следующее. надо бы, если размер получить не удалось, все равно вывести месаг, типа "Не удалось определить размер" "все равно хотите открыть?" |
|
1.75 = build 2584 2.00 = build 969 |
Date Modified | Username | Field | Change |
---|---|---|---|
2009-05-31 14:39 | sdindikov | New Issue | |
2009-05-31 14:43 | sdindikov | Note Added: 0003382 | |
2009-06-01 08:23 | vskirdin | Note Added: 0003394 | |
2009-06-01 08:26 | sdindikov | Note Added: 0003395 | |
2009-06-01 08:37 | alexy | Note Added: 0003396 | |
2009-06-01 08:38 | alexy | Note Added: 0003397 | |
2009-06-01 08:47 | sdindikov | Note Added: 0003398 | |
2009-06-01 08:54 | sdindikov | Note Added: 0003400 | |
2009-06-01 09:10 | alexy | Note Added: 0003402 | |
2009-06-01 09:40 | vskirdin | Note Added: 0003405 | |
2009-06-01 09:51 | vskirdin | Note Added: 0003406 | |
2009-06-01 09:52 | vskirdin | Status | new => assigned |
2009-06-01 09:52 | vskirdin | Assigned To | => vskirdin |
2009-06-01 12:29 | vskirdin | Note Added: 0003417 | |
2009-06-01 12:29 | vskirdin | Status | assigned => feedback |
2009-07-06 08:36 | sdindikov | Status | feedback => resolved |
2009-07-06 08:36 | sdindikov | Resolution | open => fixed |
2009-07-06 08:37 | vskirdin | Build | => 2584 |
2009-07-06 08:37 | vskirdin | Status | resolved => closed |
2009-07-06 08:37 | vskirdin | Fixed in Version | => 1.75 |