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
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
...
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
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
...
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
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
Run Unit Tests / build-and-run-unit-tests (push) Successful in 4s
2024-07-19 12:15:20 +09:00
c1c4f048cb
Improve error handling
...
Run Unit Tests / build-and-run-unit-tests (push) Successful in 4s
Handle SIGPIPE.
2024-07-19 12:13:54 +09:00
e7db978a3c
More robust error handling
Run Unit Tests / build-and-run-unit-tests (push) Successful in 5s
2024-07-19 11:29:14 +09:00
d30c30995f
Fix robust cleanup of temporary compressed file
Run Unit Tests / build-and-run-unit-tests (push) Successful in 4s
2024-07-18 22:56:12 +09:00
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