Commit graph

132 commits

Author SHA1 Message Date
6376be2840 Add support for writing multiple file formats 2024-10-02 15:11:23 +09:00
da18464d5d Test/fix symlink test/extract in v1 file format 2024-10-02 15:11:23 +09:00
8fa430f842 Fix v1 archive decompression
Previous implementation sent too many bytes to decompressor if size was
less than 1024.
2024-10-02 15:11:23 +09:00
53fefb7ae8 Remove unnecessary printf used for testing 2024-10-02 15:11:23 +09:00
45fdffdc9c Impl. extract with decompressor file format v1 2024-10-02 15:11:23 +09:00
7407972450 v1 extract skip non-specified args if exists 2024-10-02 15:11:23 +09:00
3d58f466af Impl. setting stored UID/GID if EUID 0 2024-10-02 15:11:23 +09:00
b273d91896 "Fix" Linux/Mac/Unix usage 2024-10-02 15:11:23 +09:00
c71f4f45c7 Impl. simple test/extract new file format (WIP)
TODO:
    Extract symlinks in new format (implemented but untested).
    Extract compressed files in new format.
2024-10-02 15:11:23 +09:00
c1faae90e9 Split up handling of archive file based on version 2024-10-02 15:11:23 +09:00
d625c1b1cb Fix typo 2024-10-02 15:11:23 +09:00
a7aa31fc89 Fix typo in file format specification version 1 2024-10-02 15:11:23 +09:00
f76e383e78 Create file format for format version 1
This is in preparation of improving compression by concatenating files
together before compressing them to reduce the per-file overhead.
2024-10-02 15:11:23 +09:00
efde02b4ab backport: Fixes for v0-file-format extract fn
All checks were successful
Run Unit Tests / build-and-run-unit-tests (push) Successful in 4s
2024-10-02 15:11:00 +09:00
b098fd6d69 Error if "-C <dir>" where "dir" doesn't exist
All checks were successful
Run Unit Tests / build-and-run-unit-tests (push) Successful in 5s
2024-09-30 19:16:29 +09:00
a81ec4434a Fix potential NULL-ptr dereference
All checks were successful
Run Unit Tests / build-and-run-unit-tests (push) Successful in 5s
2024-09-28 19:07:12 +09:00
5afefb9496 Add compiler hardening flags
All checks were successful
Run Unit Tests / build-and-run-unit-tests (push) Successful in 5s
2024-09-26 17:31:06 +09:00
70415c6caf Impl. way to set custom hasher for hash_map
All checks were successful
Run Unit Tests / build-and-run-unit-tests (push) Successful in 8s
2024-09-21 18:43:23 +09:00
4a69d281de Convert "unsigned long long" to "uint64_t"
All checks were successful
Run Unit Tests / build-and-run-unit-tests (push) Successful in 5s
Missed during previous changes using stdint.h .
2024-09-21 11:55:26 +09:00
5068a1b90d clang-format
All checks were successful
Run Unit Tests / build-and-run-unit-tests (push) Successful in 4s
2024-09-21 11:43:25 +09:00
bb574d2a2c Use stdint.h types instead of "int", "long", etc.
All checks were successful
Run Unit Tests / build-and-run-unit-tests (push) Successful in 7s
2024-09-20 21:40:35 +09:00
ed85ded967 Add single-ptr variants data structures' free fns
All checks were successful
Run Unit Tests / build-and-run-unit-tests (push) Successful in 6s
2024-09-13 12:51:09 +09:00
6b862ab022 Refactor priority-heap insert fn
All checks were successful
Run Unit Tests / build-and-run-unit-tests (push) Successful in 6s
priority-heap insert now takes a pointer to a priority-heap instead of a
double pointer.
2024-09-13 11:33:15 +09:00
2252b7d732 Refactor data_structures/hash_map rehash fn
All checks were successful
Run Unit Tests / build-and-run-unit-tests (push) Successful in 5s
2024-09-11 12:46:27 +09:00
88d228644e Cleanup related to change of hash-map insert fn
All checks were successful
Run Unit Tests / build-and-run-unit-tests (push) Successful in 4s
2024-09-09 17:10:17 +09:00
3408183b39 Refactor hash_map insert to use single ptr
All checks were successful
Run Unit Tests / build-and-run-unit-tests (push) Successful in 6s
Previous implementation used a double ptr for inserting into a hash map.
This refactoring allows for only needing to use a single ptr.

Fixes #17 .
2024-09-09 11:25:00 +09:00
425fa77900 Fixes related to compiler warnings
All checks were successful
Run Unit Tests / build-and-run-unit-tests (push) Successful in 4s
Fix integer mismatch usages/comparisons.

Use "size_t" instead of "unsigned int" for data structures.
2024-09-06 14:28:31 +09:00
4cd660ffd5 hash_map: Use const where applicable
All checks were successful
Run Unit Tests / build-and-run-unit-tests (push) Successful in 5s
2024-09-04 15:30:37 +09:00
dd1a8abdd4 hash_map iter fn: const key-value, update unittest
All checks were successful
Run Unit Tests / build-and-run-unit-tests (push) Successful in 52s
2024-09-01 15:40:17 +09:00
aeb8eff350 Impl. hash_map iter, clang-format
All checks were successful
Run Unit Tests / build-and-run-unit-tests (push) Successful in 52s
2024-09-01 15:13:26 +09:00
2e46790ece Switch to ISC License
All checks were successful
Run Unit Tests / build-and-run-unit-tests (push) Successful in 52s
2024-08-30 11:36:11 +09:00
4f0fdfa602 Cleanup/refactorings
All checks were successful
Run Unit Tests / build-and-run-unit-tests (push) Successful in 5s
Moved common functions to helpers.h, and similar cleanup/refactorings.
2024-07-29 16:31:10 +09:00
c30f2f3fd2 Add NULL check when printing cwd on temp file fail
All checks were successful
Run Unit Tests / build-and-run-unit-tests (push) Successful in 5s
2024-07-26 16:25:02 +09:00
4e6b2b8f5a More verbose log when failing to create temp file
All checks were successful
Run Unit Tests / build-and-run-unit-tests (push) Successful in 5s
2024-07-26 16:23:50 +09:00
49bd4b5c76 Improve file-count logs
All checks were successful
Run Unit Tests / build-and-run-unit-tests (push) Successful in 51s
2024-07-26 16:18:07 +09:00
4479fdce62 Add check if file(s) are readable when archiving
All checks were successful
Run Unit Tests / build-and-run-unit-tests (push) Successful in 52s
Also some minor changes like more error logs and refactorings.
2024-07-26 16:01:39 +09:00
bdbbf7dc16 "Fix" windows build
All checks were successful
Run Unit Tests / build-and-run-unit-tests (push) Successful in 5s
TODO:
    Native Windows implementation.
2024-07-26 13:23:51 +09:00
40567d5a3a Fix "-C <dir>" usage
All checks were successful
Run Unit Tests / build-and-run-unit-tests (push) Successful in 5s
TODO:
    Merge re-used functions into "helpers".
2024-07-26 13:17:11 +09:00
c095c40644 Update README.md
All checks were successful
Run Unit Tests / build-and-run-unit-tests (push) Successful in 6s
2024-07-26 12:42:43 +09:00
d1609849a1 Impl. "-C <dir>", refactorings
All checks were successful
Run Unit Tests / build-and-run-unit-tests (push) Successful in 5s
2024-07-26 12:39:56 +09:00
b96d26de81 Update README.md
All checks were successful
Run Unit Tests / build-and-run-unit-tests (push) Successful in 5s
2024-07-25 10:46:00 +09:00
0b63dd12ee Impl. being able to set dir for temporary files
All checks were successful
Run Unit Tests / build-and-run-unit-tests (push) Successful in 11s
2024-07-25 10:42:31 +09:00
c55864a51b Refactor parser, setup for different temp dir 2024-07-25 10:26:34 +09:00
a133b3a49d Minor help-text/doc fix
All checks were successful
Run Unit Tests / build-and-run-unit-tests (push) Successful in 5s
2024-07-24 15:27:05 +09:00
ffa5885ed6 Update README.md
All checks were successful
Run Unit Tests / build-and-run-unit-tests (push) Successful in 4s
2024-07-24 15:24:44 +09:00
c1dde797b5 Update README.md
All checks were successful
Run Unit Tests / build-and-run-unit-tests (push) Successful in 5s
2024-07-24 15:22:39 +09:00
ae4bcff24a Update README.md
All checks were successful
Run Unit Tests / build-and-run-unit-tests (push) Successful in 5s
2024-07-24 15:21:04 +09:00
852c931d8b Comment out debug print
All checks were successful
Run Unit Tests / build-and-run-unit-tests (push) Successful in 5s
2024-07-24 15:05:01 +09:00
55cd3b2659 "Fix" windows build 2024-07-24 15:03:34 +09:00
d8068a6f5f Impl. link extracting
All checks were successful
Run Unit Tests / build-and-run-unit-tests (push) Successful in 52s
2024-07-24 14:52:35 +09:00