[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