Commit graph

13 commits

Author SHA1 Message Date
53a15e5a7f
Determine log level dynamically
All checks were successful
continuous-integration/drone/push Build is passing
The log level can now be set by environment variable `XWIM_LOGLEVEL`.
Alternatively a default log level per build type (determined by NDEBUG flag) is
used.
2020-08-01 11:41:49 +02:00
bde99e3ede
Fix archive_entry double free
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/tag Build is passing
continuous-integration/drone/push Build is passing
archive_read_free also frees archive_entries. Avoid
double-free by removing manual free'ing of entry.
2020-03-21 23:56:30 +01:00
9cb65ce856
Add tests
All checks were successful
continuous-integration/drone/push Build is passing
2020-02-25 23:01:41 +01:00
6a2aa756ca
Switch to glibc build
All checks were successful
continuous-integration/drone/push Build is passing
continuous-integration/drone/tag Build is passing
2020-02-23 21:48:48 +01:00
e59968444e
[feat] Add known fileformats
All checks were successful
continuous-integration/drone/push Build is passing
Reliably stripping (multiple) archive extensions (e.g. .tar.gz) is not supported
by std::filesystem::path. Dots in the regular root folder name can cause issues.

fileformats.hpp adds well-known format extensions which are used for stripping
the extension.

Note that this is not used by libarchive or xwim to determine the
filters/formats for extraction. This is done by libarchive's `bidding`.
2020-02-23 15:28:16 +01:00
064c936f11
[fix] Extractor falls out of scope
All checks were successful
continuous-integration/drone/push Build is passing
Extractor was created and destroyed within the if scope, leading to
a dereference error when trying to call the virtual writer methods.
2020-02-23 09:56:33 +01:00
86ab4a5050
Clean up reader and writer
All checks were successful
continuous-integration/drone/push Build is passing
2020-02-23 01:27:43 +01:00
8249a2f017
archive_sys refactoring: ArchiveEntryView
All checks were successful
continuous-integration/drone/push Build is passing
Entries in libarchive archives are forward iterate only. Entries are owned by
the current archive. Reading the next header can hence invalidate the current
entry.

ArchiveEntrySys was replaced by ArchiveEntryView. ArchiveEntryView now only
guarantees a temporary view of the currently active archive entry.
2020-02-22 20:13:32 +01:00
351849e03f
Add documentation, archive_sys FFI
All checks were successful
continuous-integration/drone/push Build is passing
* Add doxygen documentation generator into build
* Create archive_sys low-level abstraction over libarchive
2020-02-22 13:49:27 +01:00
2b5e6a2659 Create ExtractSpec
All checks were successful
continuous-integration/drone/push Build is passing
2020-02-20 21:09:47 +01:00
008973a7e8 Determine extract spec
All checks were successful
continuous-integration/drone/push Build is passing
2020-02-18 23:42:19 +01:00
d33d0ba544 Read archive spec
All checks were successful
continuous-integration/drone/push Build is passing
2020-02-18 04:48:09 +01:00
da51040bde Init 2020-02-16 03:20:12 +01:00