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