История изменений
Исправление
bhfq,
(текущая версия)
:
Короче забил на библиотеки. Взял picounzip. Пересмотрел его функции extractall и extract. И просто написал свой extractall с вызовом extract в цикле for entrylist.
QuaZIP и libzip вынуждают писать свой код для распаковки архива полностью с директориями, вручную считаться с ошибками, в общем дермище для единичной полной распаковки.
Karchive сборка cmake напичкана не нужными скриптами типа ECM. Подозреваю что если не пользоваться их простым методом copyTo то говнокодить там придется ровно как и c QuaZIP.
И еще. Ark из KDE использует libzip насколько я понял плагином. https://github.com/KDE/ark/blob/master/plugins/libzipplugin/libzipplugin.cpp#L579 и насколько я смог проверить этот код, на 120мб архиве с 3600 файлами, там утечки по памяти на тесте до 200мб. Правда в самом линуксе не проверял сам Ark. Если есть желающие то проверить просто. Сожмите весь ваш /usr/include каким-нибудь zip в консоли и распакуйте хоть куда Арком, что по памяти?
Исходная версия
bhfq,
:
Короче забил на библиотеки. Взял picounzip. Пересмотрел его функции extractall и extract. И просто написал свой extractall с вызовом extract в цикле for entrylist.
QuaZIP и libzip вынуждают писать свой код для распаковки архива полностью с директориями, вручную считаться с ошибками, в общем дермище для единичной полной распаковки.
Karchive сборка cmake напичкана не нужными скриптами типа ECM. Подозреваю что если не пользоваться их простым методом copyTo то говнокодить там придется ровно как и в QuaZIP.
И еще. Ark из KDE использует libzip насколько я понял плагином. https://github.com/KDE/ark/blob/master/plugins/libzipplugin/libzipplugin.cpp#L579 и насколько я смог проверить этот код, на 120мб архиве с 3600 файлами, там утечки по памяти на тесте до 200мб. Правда в самом линуксе не проверял сам Ark. Если есть желающие то проверить просто. Сожмите весь ваш /usr/include каким-нибудь zip в консоли и распакуйте хоть куда Арком, что по памяти?