View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0000625 | Plugins | FTP (old) | public | 2008-10-28 11:02 | 2009-03-29 17:52 |
Reporter | Ariman | Assigned To | vskirdin | ||
Priority | normal | Severity | minor | Reproducibility | always |
Status | closed | Resolution | fixed | ||
Product Version | 1.71 | ||||
Fixed in Version | 1.75 | ||||
Summary | 0000625: Не работает докачка, если размер уже скачаного превышает 4гб. | ||||
Description | Если скачать часть файла, размером более 4гб, то его будет невозможно докачать. При попытке выдается ошибка открытия локального файла. Проблема в функции Fopen, в коде if ( toupper(mode[0]) == 'A' || mode[1] == '+' ) if ( SetFilePointer(h,0,NULL,FILE_END) == 0xFFFFFFFF ) break; GetLastError возвращает 87. Помогает использование 3-го параметра функции SetFilePointer. Нечто вроде if ( toupper(mode[0]) == 'A' || mode[1] == '+' ) { LONG nHighPart = 0; if ( SetFilePointer(h,0,&nHighPart,FILE_END) == 0xFFFFFFFF ) break; } Тогда позиционирование проходит нормально, без ошибок. | ||||
Tags | No tags attached. | ||||
|
а патч приложить? |
2008-10-29 03:57
|
ftp_large_resume_patch.diff (655 bytes)
Index: plugins/ftp/ftp_Mix.cpp =================================================================== --- plugins/ftp/ftp_Mix.cpp (revision 2035) +++ plugins/ftp/ftp_Mix.cpp (working copy) @@ -344,8 +344,11 @@ do{ if ( toupper(mode[0]) == 'A' || mode[1] == '+' ) - if ( SetFilePointer(h,0,NULL,FILE_END) == 0xFFFFFFFF ) + { + LONG nHighPart = 0; + if ( (SetFilePointer(h,0,&nHighPart,FILE_END) == INVALID_SET_FILE_POINTER) && (GetLastError() != NO_ERROR) ) break; + } if ( !rd ) SetEndOfFile(h); //Ignore SetEndOfFile result in case of use with CON, NUL and others |
|
прилагаю |
|
проверяем: http://ifolder.ru/8839816 |
|
Теперь работает как надо, докачка идет. |
Date Modified | Username | Field | Change |
---|---|---|---|
2008-10-28 11:02 | Ariman | New Issue | |
2008-10-29 01:55 | vskirdin | Note Added: 0001901 | |
2008-10-29 03:57 | Ariman | File Added: ftp_large_resume_patch.diff | |
2008-10-29 03:59 | Ariman | Note Added: 0001903 | |
2008-10-31 08:58 | vskirdin | Status | new => assigned |
2008-10-31 08:58 | vskirdin | Assigned To | => vskirdin |
2008-10-31 08:58 | vskirdin | Note Added: 0001908 | |
2008-10-31 08:58 | vskirdin | Status | assigned => feedback |
2008-10-31 10:36 | Ariman | Note Added: 0001913 | |
2009-03-29 17:52 | alexy | Status | feedback => closed |
2009-03-29 17:52 | alexy | Resolution | open => fixed |
2009-03-29 17:52 | alexy | Fixed in Version | => 1.75 |
2013-05-20 21:30 | alexy | Category | FTP => FTP (old) |