View Issue Details

IDProjectCategoryView StatusLast Update
0000898Far Manager 1.7xEditorpublic2009-07-06 11:37
ReportersdindikovAssigned Tovskirdin 
PrioritylowSeverityminorReproducibilityalways
Status closedResolutionfixed 
Product Version1.75 
Target VersionFixed in Version1.75 
Summary0000898: недоработка: нет проверки на открываемый размер файла
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 валится.

TagsNo tags attached.
Build2584

Activities

sdindikov

2009-05-31 17:43

developer   bugnote:0003382

проверено на FAR1.75 2582 FAR2 966
OS:XPsp3

vskirdin

2009-06-01 11:23

administrator   bugnote:0003394

ты понимаешь, какое тут дело...
если внимательно присмотреться к FileEditor::LoadFile, то увидим, что GetFileSize возвращает ошибку, т.к.... размера не удалось получить.
В итоге в условие, где производится проверка размера, не попадаем.
ideas?

sdindikov

2009-06-01 11:26

developer   bugnote:0003395

закрыть issue как wont fix, know bug или как то-то так :)

я предпологал что в этом дело но мало ли...

alexy

2009-06-01 11:37

administrator   bugnote:0003396

Ну так вроде Drkns уже это поправил, не?

alexy

2009-06-01 11:38

administrator   bugnote:0003397

Но да, в 2.0. В 1.7 надо закрыть как wont fix.

sdindikov

2009-06-01 11:47

developer   bugnote:0003398

alexy он правил другое.

sdindikov

2009-06-01 11:54

developer   bugnote:0003400

alexy а почему для 2ки не wont fix? как там определяться размер будет?

Ксати вариант если GetFileSize(Ex) вернула ошибку то может задать юзеру вопрос
типа размер неудаётся определить всё равно загружать? или это уже лишний AI будет? :)

alexy

2009-06-01 12:10

administrator   bugnote:0003402

Да поправил 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;
}

vskirdin

2009-06-01 12:40

administrator   bugnote:0003405

я так понимаю, что в масдаях вот этого чудища GET_LENGTH_INFORMATION нет?

vskirdin

2009-06-01 12:51

administrator   bugnote:0003406

хмм... тут подумалось следующее.
надо бы, если размер получить не удалось, все равно вывести месаг, типа
"Не удалось определить размер"
"все равно хотите открыть?"

vskirdin

2009-06-01 15:29

administrator   bugnote:0003417

1.75 = build 2584
2.00 = build 969

Issue History

Date Modified Username Field Change
2009-05-31 17:39 sdindikov New Issue
2009-05-31 17:43 sdindikov Note Added: 0003382
2009-06-01 11:23 vskirdin Note Added: 0003394
2009-06-01 11:26 sdindikov Note Added: 0003395
2009-06-01 11:37 alexy Note Added: 0003396
2009-06-01 11:38 alexy Note Added: 0003397
2009-06-01 11:47 sdindikov Note Added: 0003398
2009-06-01 11:54 sdindikov Note Added: 0003400
2009-06-01 12:10 alexy Note Added: 0003402
2009-06-01 12:40 vskirdin Note Added: 0003405
2009-06-01 12:51 vskirdin Note Added: 0003406
2009-06-01 12:52 vskirdin Status new => assigned
2009-06-01 12:52 vskirdin Assigned To => vskirdin
2009-06-01 15:29 vskirdin Note Added: 0003417
2009-06-01 15:29 vskirdin Status assigned => feedback
2009-07-06 11:36 sdindikov Status feedback => resolved
2009-07-06 11:36 sdindikov Resolution open => fixed
2009-07-06 11:37 vskirdin Build => 2584
2009-07-06 11:37 vskirdin Status resolved => closed
2009-07-06 11:37 vskirdin Fixed in Version => 1.75