[sword-devel] HTTP Module Install Preference
Bastian Germann
bastiangermann at fishpost.de
Wed Jun 1 12:21:12 EDT 2022
Hi Troy,
Am 30.05.22 um 01:36 schrieb Troy A. Griffitts:
> 1) new unzip expansion support in the engine:
>
> we've wanted, for a while now, to support zip archive expansion; historically, we've supported tar.gz expansion. My
> issue in the past is that zlib only supports the decompression action, not actually reading an archive of files and
> expanding them. zlib does include a contrib/ folder which has enough functionality to provide this. I've finally waded
> through it all and it appears it might be cross-platform enough for us to compile on our targets. The new files are:
>
> src/modules/common/ioapi.c
> src/modules/common/unzip.c
> include/internal/unzip/ioapi.h
> include/internal/unzip/unzip.h
>
> with a new static method on our class ZipCompress::unZip(const char *sourceZipPath, const char *destPath);
Have you had a look at libarchive? I think, introducing this can get rid of a lot of the compression source files and
would simplify the codebase. It is a mature library; even Microsoft uses it on Windows 10/11 to provide tar.
I have used it with https://gitlab.com/bgermann/unrar-free and really liked the documentation.
All the SWORD-supported compression types should be supported in libarchive except for LZSS, which is only part of the
RAR implementation. However, there might be a chance to refactor and make it a primary compression filter. If you like
the idea of libarchive in SWORD I am willing to have a try at the libarchive code base.
Thanks,
Bastian
More information about the sword-devel
mailing list