5f8d6b0c0b
More robust handling of bad compressor cmd
Run Unit Tests / build-and-run-unit-tests (push) Successful in 4s
2024-07-18 22:32:04 +09:00
72d2db378f
Do not create archive file on failure
2024-07-18 22:09:03 +09:00
7046dfb1e5
More robust cleanup of temporary file
2024-07-18 22:08:48 +09:00
1d85ddd0e9
Improve error print
Run Unit Tests / build-and-run-unit-tests (push) Successful in 4s
2024-07-18 18:55:42 +09:00
ecb0c751d8
Print permissions when in "-t" mode
Run Unit Tests / build-and-run-unit-tests (push) Successful in 3s
2024-07-18 15:57:45 +09:00
99e1a2d850
Fix error when checking with "-t"
Run Unit Tests / build-and-run-unit-tests (push) Successful in 4s
2024-07-18 15:49:22 +09:00
c4ff2347ff
Improve error printing
Run Unit Tests / build-and-run-unit-tests (push) Successful in 5s
2024-07-18 15:46:27 +09:00
c18e772928
Remove unnecessary "include"s
Run Unit Tests / build-and-run-unit-tests (push) Successful in 4s
2024-07-18 15:36:09 +09:00
735d2b4f7a
Comment out debug print
Run Unit Tests / build-and-run-unit-tests (push) Successful in 4s
2024-07-18 15:32:48 +09:00
4985672ea2
Impl. extract "white-list"
...
When extracting, the given positional args will determine a "white-list"
of files to extract. If no positional args are given, then all files in
the archive will be extracted.
2024-07-18 15:30:05 +09:00
0a6afe6148
Improve error handling when parsing/extracting
Run Unit Tests / build-and-run-unit-tests (push) Successful in 4s
2024-07-18 14:39:01 +09:00
5b3a7e3994
Fix extracting when no compressor was used
Run Unit Tests / build-and-run-unit-tests (push) Successful in 4s
2024-07-18 14:17:50 +09:00
4cb4184338
Store/restore file permissions
Run Unit Tests / build-and-run-unit-tests (push) Successful in 4s
2024-07-18 14:02:15 +09:00
17f89e5a68
"Fix" windows build
Run Unit Tests / build-and-run-unit-tests (push) Successful in 4s
2024-07-18 13:33:35 +09:00
da2a0f7b1c
Implement extracting from archive
...
Run Unit Tests / build-and-run-unit-tests (push) Successful in 5s
TODO:
Storing file permissions to be extracted with same permissions.
Archiving and extracting symbolic links.
2024-07-18 13:27:32 +09:00
0449ab389e
Add helper to create dirs from filepath
2024-07-18 11:53:00 +09:00
af235ff878
Use waitpid on compress to avoid defunct processes
Run Unit Tests / build-and-run-unit-tests (push) Successful in 3s
2024-07-17 19:00:34 +09:00
fe04dc7018
Output when writing file to archive
Run Unit Tests / build-and-run-unit-tests (push) Successful in 4s
2024-07-17 17:22:44 +09:00
be67425d21
Impl. compressing with arbitrary command
...
Run Unit Tests / build-and-run-unit-tests (push) Successful in 4s
TODO:
Archive extracting.
Create archive with symbolic links.
2024-07-17 16:37:32 +09:00
bbdcd660a5
Minor fixes
Run Unit Tests / build-and-run-unit-tests (push) Successful in 4s
2024-07-17 15:01:39 +09:00
ea845f2552
Impl. setup for de/compression
...
Run Unit Tests / build-and-run-unit-tests (push) Successful in 4s
Some setup code in preparation of doing the actual file compression when
creating an archive.
2024-07-17 14:32:39 +09:00
0299129ea6
"-t": Note that file is compressed if compressed
Run Unit Tests / build-and-run-unit-tests (push) Successful in 3s
2024-07-17 13:35:04 +09:00
2364f53649
Impl. "-t" command (printing archive info)
...
Run Unit Tests / build-and-run-unit-tests (push) Successful in 4s
TODO:
Write symbolic links into archive when creating.
Use De/compressor cmds when creating archive.
Extracting archive.
2024-07-17 13:30:05 +09:00
58daa1130d
Update parser flags to allow "checking" with "-t"
Run Unit Tests / build-and-run-unit-tests (push) Successful in 3s
2024-07-17 12:13:33 +09:00
875e4bb2a4
Add "status progress" when archiving
Run Unit Tests / build-and-run-unit-tests (push) Successful in 4s
2024-07-16 16:44:54 +09:00
41fde43eed
Impl. basic functionality "MVP"
...
Run Unit Tests / build-and-run-unit-tests (push) Successful in 48s
"MinimumViableProduct", resolves #2 .
TODO:
Support de/compressor cmds when creating archive.
Support symbolic links when creating archive.
Support extracting archive.
2024-07-16 16:16:58 +09:00
4670f0f3c1
big-endian convert: Use stdint.h
...
Run Unit Tests / build-and-run-unit-tests (push) Successful in 5s
Replace "unsigned short" with uint16_t, "unsigned int" with uint32_t,
and "unsigned long long" with uint64_t.
2024-07-15 17:00:49 +09:00
efffb8c147
Add "--overwrite-create"
...
Run Unit Tests / build-and-run-unit-tests (push) Successful in 45s
Default behavior is now to NOT overwrite existing archive files for
storing output unless "--overwrite-create" is specified.
2024-07-11 16:56:23 +09:00
58269d751c
Impl. handling symbolic links
Run Unit Tests / build-and-run-unit-tests (push) Successful in 3s
2024-07-04 14:48:56 +09:00
20cb6cb3aa
Remove unnecessary "TODO" in comment.
2024-07-04 13:50:32 +09:00
518ac3ebe1
parser: Enable existing codepath for OSX
...
Run Unit Tests / build-and-run-unit-tests (push) Successful in 5s
The Unix functions/headers used in parser for getting files/dirs from
the given positional arguments are also available in OSX
(theoretically), so they are now enabled for OSX platforms.
TODO: Add getting files/dirs code for the Windows platform.
2024-07-04 11:54:15 +09:00
6ee347da12
Handle symbolic links separately
...
Run Unit Tests / build-and-run-unit-tests (push) Successful in 4s
Previous implementation could loop forever following a symbolic link
that goes backwards. This commit makes symbolic links an "unhandled file
type" for now.
2024-07-03 20:25:42 +09:00
c9df661cd3
"platforms.h" include should be before its usage
Run Unit Tests / build-and-run-unit-tests (push) Successful in 4s
2024-07-03 20:01:19 +09:00
e06e65e5e8
Impl. parser accepting files and dirs
...
Run Unit Tests / build-and-run-unit-tests (push) Successful in 4s
Fix memory leak in hash_map.
Current "main" prints specified files and subfiles of specified
directories.
TODO: Handle symbolic links
2024-07-03 19:56:26 +09:00
8d912ce780
Remove 'extern' from parser.h
2024-07-03 17:55:35 +09:00
69051a6c24
Add helpers for conversion to/from big-endian
...
Run Unit Tests / build-and-run-unit-tests (push) Successful in 3s
Also added tests for big-endian-conversion functions.
2024-07-02 14:25:01 +09:00
3172920c9c
Some work on arg parser
...
Run Unit Tests / build-and-run-unit-tests (push) Successful in 7s
Also added unit tests for arg parser.
2024-07-01 15:13:06 +09:00
467c09a0e4
Fix unit test for priority heap
Run Unit Tests / build-and-run-unit-tests (push) Successful in 3s
2024-06-30 20:02:47 +09:00
9e95c5e292
Change priority_heap to accept "less_fn"
...
Run Unit Tests / build-and-run-unit-tests (push) Successful in 3s
This allows for reverse order in the priority heap by using a "more_fn"
in place of a "less fn".
2024-06-30 17:29:24 +09:00
d815f67b2d
Minor fix to doc comment about priority heap
Run Unit Tests / build-and-run-unit-tests (push) Successful in 3s
2024-06-30 15:35:27 +09:00
fbe62ba5b2
Impl. priority heap, minor tweaks/fixes
...
Run Unit Tests / build-and-run-unit-tests (push) Successful in 3s
Implemented a priority heap.
Added tests for the priority heap.
Add a "default" lcg generator function.
Tweak hash_map to use the default lcg generator function.
`clang-format`.
2024-06-30 15:32:17 +09:00
ea919f3eb3
Add platforms.h
header to determine platform
...
Run Unit Tests / build-and-run-unit-tests (push) Successful in 3s
The platforms.h header will allow for using/implementing OS-specific
code that will differ based on the platform the program is compiled for.
2024-06-29 16:52:17 +09:00
aa2a1bf583
Fix hashing in hash_map (hopefully finally)
2024-06-28 18:19:29 +09:00
da72a2387f
Fix hash_map hashing (hopefully the final time)
2024-06-28 18:17:38 +09:00
c5b2ca6dff
Fix hashing in hash_map
2024-06-28 18:15:40 +09:00
d6878b0f1d
Revert "Minor additions to unit test of data structures"
...
This reverts commit f1bab48fb5
.
Unnecessary checks were added that were already checked by the preceding
for statement.
2024-06-28 17:40:29 +09:00
f1bab48fb5
Minor additions to unit test of data structures
2024-06-28 17:38:43 +09:00
4d260e4a7b
Impl. hash_map
...
Also implemented the linear congruential generator algorithm for
generating hash values for the hash_map.
Tweaks to linked_list api to support "check functions" with supplied
user data.
2024-06-28 17:31:34 +09:00
6ac7edbb3b
Implement a linked list data structure
2024-06-28 13:54:38 +09:00
c1b914cb8e
Remove unnecessary prints, clang-format
2024-06-27 13:30:18 +09:00