Commit graph

120 commits

Author SHA1 Message Date
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
b28e384149 Add abs_path check when referring out of archive
If absolute paths are enabled, and a link points to something outside of
the archive, a flag is set on the symlink entry to prefer absolute
paths.
2024-07-24 14:31:38 +09:00
c6d2d50c0f Create "set" of filenames for use when archiving 2024-07-24 14:05:05 +09:00
2f4c0d3679 Split off code into internal helper function
Function gets absolute path to given filename.
2024-07-24 14:04:19 +09:00
9d105bc3a5 Minor tweak to includes in archiver 2024-07-24 14:03:03 +09:00
b90b7ae64f Update file_format.md 2024-07-24 13:33:46 +09:00
e9c327a62f Add "--no-abs-symlink" to not store absolute paths 2024-07-24 13:32:39 +09:00
d939939723 Impl. archiving abs/rel-paths for symbolic links
All checks were successful
Run Unit Tests / build-and-run-unit-tests (push) Successful in 4s
TODO:
    Choosing the ideal link based on if link points to an archived file.
    Extracting (creating) symbolic links from archive.
2024-07-23 15:28:59 +09:00
4b730b4824 Set user permission bits if non-Unix platform
All checks were successful
Run Unit Tests / build-and-run-unit-tests (push) Successful in 51s
2024-07-23 14:19:40 +09:00
3dc9e88e24 Fix improper handling of unsupported symlinks
All checks were successful
Run Unit Tests / build-and-run-unit-tests (push) Successful in 5s
TODO:
    Archive symlinks properly.
    Extract symlinks properly.
2024-07-22 14:01:01 +09:00
dcff34e06b Support "-f -" to read/write archive stdin/stdout
All checks were successful
Run Unit Tests / build-and-run-unit-tests (push) Successful in 6s
2024-07-19 16:45:51 +09:00
613354034d Use SIGPIPE handling on UNIX platforms
All checks were successful
Run Unit Tests / build-and-run-unit-tests (push) Successful in 4s
2024-07-19 12:15:20 +09:00
c1c4f048cb Improve error handling
All checks were successful
Run Unit Tests / build-and-run-unit-tests (push) Successful in 4s
Handle SIGPIPE.
2024-07-19 12:13:54 +09:00