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
_______________________________________________
sword-devel mailing list: sword-devel@crosswire.org
http://crosswire.org/mailman/listinfo/sword-devel
Instructions to unsubscribe/change your settings at above page

Reply via email to