]>
git.seodisparate.com - SimpleArchiver/log
Stephen Seo [Mon, 29 Jul 2024 07:31:10 +0000 (16:31 +0900)]
Cleanup/refactorings
Moved common functions to helpers.h, and similar cleanup/refactorings.
Stephen Seo [Fri, 26 Jul 2024 07:25:02 +0000 (16:25 +0900)]
Add NULL check when printing cwd on temp file fail
Stephen Seo [Fri, 26 Jul 2024 07:23:50 +0000 (16:23 +0900)]
More verbose log when failing to create temp file
Stephen Seo [Fri, 26 Jul 2024 07:18:07 +0000 (16:18 +0900)]
Improve file-count logs
Stephen Seo [Fri, 26 Jul 2024 07:01:39 +0000 (16:01 +0900)]
Add check if file(s) are readable when archiving
Also some minor changes like more error logs and refactorings.
Stephen Seo [Fri, 26 Jul 2024 04:23:51 +0000 (13:23 +0900)]
"Fix" windows build
TODO:
Native Windows implementation.
Stephen Seo [Fri, 26 Jul 2024 04:17:11 +0000 (13:17 +0900)]
Fix "-C <dir>" usage
TODO:
Merge re-used functions into "helpers".
Stephen Seo [Fri, 26 Jul 2024 03:42:43 +0000 (12:42 +0900)]
Update README.md
Stephen Seo [Fri, 26 Jul 2024 03:39:56 +0000 (12:39 +0900)]
Impl. "-C <dir>", refactorings
Stephen Seo [Thu, 25 Jul 2024 01:46:00 +0000 (10:46 +0900)]
Update README.md
Stephen Seo [Thu, 25 Jul 2024 01:42:31 +0000 (10:42 +0900)]
Impl. being able to set dir for temporary files
Stephen Seo [Thu, 25 Jul 2024 01:26:34 +0000 (10:26 +0900)]
Refactor parser, setup for different temp dir
Stephen Seo [Wed, 24 Jul 2024 06:27:05 +0000 (15:27 +0900)]
Minor help-text/doc fix
Stephen Seo [Wed, 24 Jul 2024 06:24:44 +0000 (15:24 +0900)]
Update README.md
Stephen Seo [Wed, 24 Jul 2024 06:22:39 +0000 (15:22 +0900)]
Update README.md
Stephen Seo [Wed, 24 Jul 2024 06:21:04 +0000 (15:21 +0900)]
Update README.md
Stephen Seo [Wed, 24 Jul 2024 06:05:01 +0000 (15:05 +0900)]
Comment out debug print
Stephen Seo [Wed, 24 Jul 2024 06:03:34 +0000 (15:03 +0900)]
"Fix" windows build
Stephen Seo [Wed, 24 Jul 2024 05:52:35 +0000 (14:52 +0900)]
Impl. link extracting
Stephen Seo [Wed, 24 Jul 2024 05:31:38 +0000 (14:31 +0900)]
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.
Stephen Seo [Wed, 24 Jul 2024 05:05:05 +0000 (14:05 +0900)]
Create "set" of filenames for use when archiving
Stephen Seo [Wed, 24 Jul 2024 05:04:19 +0000 (14:04 +0900)]
Split off code into internal helper function
Function gets absolute path to given filename.
Stephen Seo [Wed, 24 Jul 2024 05:03:03 +0000 (14:03 +0900)]
Minor tweak to includes in archiver
Stephen Seo [Wed, 24 Jul 2024 04:33:46 +0000 (13:33 +0900)]
Update file_format.md
Stephen Seo [Wed, 24 Jul 2024 04:32:39 +0000 (13:32 +0900)]
Add "--no-abs-symlink" to not store absolute paths
Stephen Seo [Tue, 23 Jul 2024 06:28:59 +0000 (15:28 +0900)]
Impl. archiving abs/rel-paths for symbolic links
TODO:
Choosing the ideal link based on if link points to an archived file.
Extracting (creating) symbolic links from archive.
Stephen Seo [Tue, 23 Jul 2024 05:16:57 +0000 (14:16 +0900)]
Set user permission bits if non-Unix platform
Stephen Seo [Mon, 22 Jul 2024 05:01:01 +0000 (14:01 +0900)]
Fix improper handling of unsupported symlinks
TODO:
Archive symlinks properly.
Extract symlinks properly.
Stephen Seo [Fri, 19 Jul 2024 07:45:51 +0000 (16:45 +0900)]
Support "-f -" to read/write archive stdin/stdout
Stephen Seo [Fri, 19 Jul 2024 03:15:20 +0000 (12:15 +0900)]
Use SIGPIPE handling on UNIX platforms
Stephen Seo [Fri, 19 Jul 2024 03:13:54 +0000 (12:13 +0900)]
Improve error handling
Handle SIGPIPE.
Stephen Seo [Fri, 19 Jul 2024 02:29:14 +0000 (11:29 +0900)]
More robust error handling
Stephen Seo [Thu, 18 Jul 2024 13:56:12 +0000 (22:56 +0900)]
Fix robust cleanup of temporary compressed file
Stephen Seo [Thu, 18 Jul 2024 13:32:04 +0000 (22:32 +0900)]
More robust handling of bad compressor cmd
Stephen Seo [Thu, 18 Jul 2024 13:09:03 +0000 (22:09 +0900)]
Do not create archive file on failure
Stephen Seo [Thu, 18 Jul 2024 13:08:48 +0000 (22:08 +0900)]
More robust cleanup of temporary file
Stephen Seo [Thu, 18 Jul 2024 09:55:42 +0000 (18:55 +0900)]
Improve error print
Stephen Seo [Thu, 18 Jul 2024 06:57:45 +0000 (15:57 +0900)]
Print permissions when in "-t" mode
Stephen Seo [Thu, 18 Jul 2024 06:49:22 +0000 (15:49 +0900)]
Fix error when checking with "-t"
Stephen Seo [Thu, 18 Jul 2024 06:46:27 +0000 (15:46 +0900)]
Improve error printing
Stephen Seo [Thu, 18 Jul 2024 06:36:09 +0000 (15:36 +0900)]
Remove unnecessary "include"s
Stephen Seo [Thu, 18 Jul 2024 06:32:48 +0000 (15:32 +0900)]
Comment out debug print
Stephen Seo [Thu, 18 Jul 2024 06:30:05 +0000 (15:30 +0900)]
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.
Stephen Seo [Thu, 18 Jul 2024 05:39:01 +0000 (14:39 +0900)]
Improve error handling when parsing/extracting
Stephen Seo [Thu, 18 Jul 2024 05:17:50 +0000 (14:17 +0900)]
Fix extracting when no compressor was used
Stephen Seo [Thu, 18 Jul 2024 05:02:15 +0000 (14:02 +0900)]
Store/restore file permissions
Stephen Seo [Thu, 18 Jul 2024 04:33:35 +0000 (13:33 +0900)]
"Fix" windows build
Stephen Seo [Thu, 18 Jul 2024 04:16:24 +0000 (13:16 +0900)]
Implement extracting from archive
TODO:
Storing file permissions to be extracted with same permissions.
Archiving and extracting symbolic links.
Stephen Seo [Thu, 18 Jul 2024 02:53:00 +0000 (11:53 +0900)]
Add helper to create dirs from filepath
Stephen Seo [Wed, 17 Jul 2024 10:00:34 +0000 (19:00 +0900)]
Use waitpid on compress to avoid defunct processes
Stephen Seo [Wed, 17 Jul 2024 08:22:09 +0000 (17:22 +0900)]
Output when writing file to archive
Stephen Seo [Wed, 17 Jul 2024 07:37:32 +0000 (16:37 +0900)]
Impl. compressing with arbitrary command
TODO:
Archive extracting.
Create archive with symbolic links.
Stephen Seo [Wed, 17 Jul 2024 06:01:39 +0000 (15:01 +0900)]
Minor fixes
Stephen Seo [Wed, 17 Jul 2024 05:32:39 +0000 (14:32 +0900)]
Impl. setup for de/compression
Some setup code in preparation of doing the actual file compression when
creating an archive.
Stephen Seo [Wed, 17 Jul 2024 04:35:04 +0000 (13:35 +0900)]
"-t": Note that file is compressed if compressed
Stephen Seo [Wed, 17 Jul 2024 04:30:05 +0000 (13:30 +0900)]
Impl. "-t" command (printing archive info)
TODO:
Write symbolic links into archive when creating.
Use De/compressor cmds when creating archive.
Extracting archive.
Stephen Seo [Wed, 17 Jul 2024 03:13:33 +0000 (12:13 +0900)]
Update parser flags to allow "checking" with "-t"
Stephen Seo [Tue, 16 Jul 2024 07:44:54 +0000 (16:44 +0900)]
Add "status progress" when archiving
Stephen Seo [Tue, 16 Jul 2024 07:16:58 +0000 (16:16 +0900)]
Impl. basic functionality "MVP"
"MinimumViableProduct", resolves #2 .
TODO:
Support de/compressor cmds when creating archive.
Support symbolic links when creating archive.
Support extracting archive.
Stephen Seo [Mon, 15 Jul 2024 07:59:15 +0000 (16:59 +0900)]
big-endian convert: Use stdint.h
Replace "unsigned short" with uint16_t, "unsigned int" with uint32_t,
and "unsigned long long" with uint64_t.
Stephen Seo [Mon, 15 Jul 2024 06:43:14 +0000 (15:43 +0900)]
Minor tweaks to file format
Stephen Seo [Thu, 11 Jul 2024 07:56:23 +0000 (16:56 +0900)]
Add "--overwrite-create"
Default behavior is now to NOT overwrite existing archive files for
storing output unless "--overwrite-create" is specified.
Stephen Seo [Sun, 7 Jul 2024 05:43:32 +0000 (14:43 +0900)]
Revise file_format.md
Specify how symlink paths should be handled if they do not exist (path
size of 0).
Stephen Seo [Thu, 4 Jul 2024 05:48:56 +0000 (14:48 +0900)]
Impl. handling symbolic links
Stephen Seo [Thu, 4 Jul 2024 04:50:32 +0000 (13:50 +0900)]
Remove unnecessary "TODO" in comment.
Stephen Seo [Thu, 4 Jul 2024 04:48:39 +0000 (13:48 +0900)]
Update file_format.md
Make strings NULL-terminated.
Stephen Seo [Thu, 4 Jul 2024 04:13:52 +0000 (13:13 +0900)]
revise file_format.md
Stephen Seo [Thu, 4 Jul 2024 04:10:22 +0000 (13:10 +0900)]
Update file_format.md
Resolves #11 .
Stephen Seo [Thu, 4 Jul 2024 02:54:15 +0000 (11:54 +0900)]
parser: Enable existing codepath for OSX
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.
Stephen Seo [Wed, 3 Jul 2024 11:25:42 +0000 (20:25 +0900)]
Handle symbolic links separately
Previous implementation could loop forever following a symbolic link
that goes backwards. This commit makes symbolic links an "unhandled file
type" for now.
Stephen Seo [Wed, 3 Jul 2024 11:01:03 +0000 (20:01 +0900)]
"platforms.h" include should be before its usage
Stephen Seo [Wed, 3 Jul 2024 10:54:44 +0000 (19:54 +0900)]
Impl. parser accepting files and dirs
Fix memory leak in hash_map.
Current "main" prints specified files and subfiles of specified
directories.
TODO: Handle symbolic links
Stephen Seo [Wed, 3 Jul 2024 08:55:35 +0000 (17:55 +0900)]
Remove 'extern' from parser.h
Stephen Seo [Tue, 2 Jul 2024 05:25:01 +0000 (14:25 +0900)]
Add helpers for conversion to/from big-endian
Also added tests for big-endian-conversion functions.
Stephen Seo [Tue, 2 Jul 2024 05:02:38 +0000 (14:02 +0900)]
Revise file_format
The changes should allow for the .simplearchive file to be directly
outputted to standard out in a single pass.
Resolves #10 .
Stephen Seo [Mon, 1 Jul 2024 06:13:06 +0000 (15:13 +0900)]
Some work on arg parser
Also added unit tests for arg parser.
Stephen Seo [Sun, 30 Jun 2024 11:02:47 +0000 (20:02 +0900)]
Fix unit test for priority heap
Stephen Seo [Sun, 30 Jun 2024 08:29:24 +0000 (17:29 +0900)]
Change priority_heap to accept "less_fn"
This allows for reverse order in the priority heap by using a "more_fn"
in place of a "less fn".
Stephen Seo [Sun, 30 Jun 2024 06:35:27 +0000 (15:35 +0900)]
Minor fix to doc comment about priority heap
Stephen Seo [Sun, 30 Jun 2024 06:32:17 +0000 (15:32 +0900)]
Impl. priority heap, minor tweaks/fixes
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`.
Stephen Seo [Sat, 29 Jun 2024 07:52:17 +0000 (16:52 +0900)]
Add `platforms.h` header to determine platform
The platforms.h header will allow for using/implementing OS-specific
code that will differ based on the platform the program is compiled for.
Stephen Seo [Sat, 29 Jun 2024 07:13:15 +0000 (16:13 +0900)]
Add action/workflow to run unit tests
Currently only runs `test_datastructures`.
Stephen Seo [Sat, 29 Jun 2024 07:00:59 +0000 (16:00 +0900)]
Update README.md
Stephen Seo [Fri, 28 Jun 2024 10:35:06 +0000 (19:35 +0900)]
Fix cosmopolitan/Makefile missing files
Stephen Seo [Fri, 28 Jun 2024 09:19:29 +0000 (18:19 +0900)]
Fix hashing in hash_map (hopefully finally)
Stephen Seo [Fri, 28 Jun 2024 09:17:38 +0000 (18:17 +0900)]
Fix hash_map hashing (hopefully the final time)
Stephen Seo [Fri, 28 Jun 2024 09:15:40 +0000 (18:15 +0900)]
Fix hashing in hash_map
Stephen Seo [Fri, 28 Jun 2024 08:40:29 +0000 (17:40 +0900)]
Revert "Minor additions to unit test of data structures"
This reverts commit
f1bab48fb5a296c55c2ba092474c9f351fcde045 .
Unnecessary checks were added that were already checked by the preceding
for statement.
Stephen Seo [Fri, 28 Jun 2024 08:38:43 +0000 (17:38 +0900)]
Minor additions to unit test of data structures
Stephen Seo [Fri, 28 Jun 2024 08:31:34 +0000 (17:31 +0900)]
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.
Stephen Seo [Fri, 28 Jun 2024 04:54:38 +0000 (13:54 +0900)]
Implement a linked list data structure
Stephen Seo [Fri, 28 Jun 2024 04:02:26 +0000 (13:02 +0900)]
Create Makefile for building with cosmocc
Resolves #9.
Stephen Seo [Thu, 27 Jun 2024 08:21:59 +0000 (17:21 +0900)]
Update README.md
Stephen Seo [Thu, 27 Jun 2024 08:20:46 +0000 (17:20 +0900)]
Rename executable to lowercase
Stephen Seo [Thu, 27 Jun 2024 04:30:18 +0000 (13:30 +0900)]
Remove unnecessary prints, `clang-format`
Stephen Seo [Thu, 27 Jun 2024 04:28:53 +0000 (13:28 +0900)]
Fix invalid memory usage bug causing invalid free
realloc(...) was not used propertly. The number of items to be
reallocated was specified, but not the size of each item.
Stephen Seo [Thu, 27 Jun 2024 02:57:29 +0000 (11:57 +0900)]
Impl. parser (TODO Fix invalid free crash)
During testing, having at least three positional args cause an invalid
free crash. Should be investigated and fixed.
Stephen Seo [Thu, 27 Jun 2024 01:36:06 +0000 (10:36 +0900)]
Update file_format.md
Add support for per-file compressing by storing the
compressor/decompressor commands in the per-file header part of the
.simplearchive.
Stephen Seo [Thu, 27 Jun 2024 01:14:10 +0000 (10:14 +0900)]
Define file format (version 0 file format)
Resolves #1.
Stephen Seo [Wed, 26 Jun 2024 10:19:21 +0000 (19:19 +0900)]
Add LICENSE, README.md, and license info in source