| http://dlcorp.ucoz.ru/load/0-0-0-53-20 Говнокод был в следующем: DWORD calculateCheckSum(BYTE* ptr, WORD size); WORD crc(BYTE* ptr, WORD len); длина была WORD - 16 бит, поэтому все и обламывалось если размер блока превышал 64кб. Ну и вот это еще под вопросом: DWORD checkSum = 0x255 + noFilesWritten (переменная типа байт); Сумма двух байтов - дает байт исправил на: DWORD checkSum = 0x255UL + DWORD(noFilesWritten); P.S. Полагаю что в следствие копипаста в остальных плугинах могут быть такиеже глюки (например в xSCL).
Сообщение отредактировал deathsoft - Четверг, 2009-11-26, 01:02:46 |