Leave a comment

Comments 10

fatoff October 31 2016, 20:17:22 UTC
Пробежался глазами, хотел что-то сказать про то, что битность платформы в данном случае не должно быть непреодолимым препятствием, лишь бы выводить продукт сжатия на диск своевременно, и иметь разумный размер входного буфера. Потом увидел, что автор поучаствовал в WinRar, и передумал что-то говорить: тут какая-то засада собственно в  перловом скрипте или библиотеке (де)компрессии.

Reply

anspa November 1 2016, 03:54:04 UTC
Да, разумеется. Итс окей, как говорят у нас на ист косте, мы открыты для обсуждений. Засада в старом формате zip архива, который имел определенные лимиты (ну кому в 89-м году пришло бы в голову что 65535 файлов в одном зипе может не хватить). Про 2Гб тоже, чисто ограничения формата. Т.е. просто там 32-битные длины в оффсетах и когда размер превышает лимит они тупо переполняются и начинают писать файл с нулевого оффсета. Zip-овцы давно уж придумали новый "64bit" формат. Проблема в том что товарищи, ответственные за Archive::Zip модуля для Perl его так и не имплементировали. Хотя распаковывать 64bit-ный формат можно через IO::Uncompress, модуля сжатия нет. Можно было б прикрутить вызов внешней утилиты, но это отстой и непереносимость между ОС. Вкратце так.

Reply

fatoff November 1 2016, 04:18:28 UTC
Не, естественно, второй мыслью было дочитать вашу мысль до конца. :D
Спасибо за развёрнутое объяснение. Рошаль большой молодец.

Reply

anspa November 1 2016, 11:51:53 UTC
Да не за что. =) Со мной никто не разговаривает, поэтому я иногда не прочь поговорить. А Женя, да, молодец. Спасибо. =)

Reply


Leave a comment

Up