]> git.seodisparate.com - SimpleArchiver/log
SimpleArchiver
9 months agoWIP work on windows support windows
Stephen Seo [Fri, 5 Jul 2024 11:47:30 +0000 (20:47 +0900)]
WIP work on windows support

Windows support is still WIP.

9 months agoRevise file_format.md
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).

9 months agoImpl. handling symbolic links
Stephen Seo [Thu, 4 Jul 2024 05:48:56 +0000 (14:48 +0900)]
Impl. handling symbolic links

9 months agoRemove unnecessary "TODO" in comment.
Stephen Seo [Thu, 4 Jul 2024 04:50:32 +0000 (13:50 +0900)]
Remove unnecessary "TODO" in comment.

9 months agoUpdate file_format.md
Stephen Seo [Thu, 4 Jul 2024 04:48:39 +0000 (13:48 +0900)]
Update file_format.md

Make strings NULL-terminated.

9 months agorevise file_format.md
Stephen Seo [Thu, 4 Jul 2024 04:13:52 +0000 (13:13 +0900)]
revise file_format.md

9 months agoUpdate file_format.md
Stephen Seo [Thu, 4 Jul 2024 04:10:22 +0000 (13:10 +0900)]
Update file_format.md

Resolves #11 .

9 months agoparser: Enable existing codepath for OSX
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.

9 months agoHandle symbolic links separately
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.

9 months ago"platforms.h" include should be before its usage
Stephen Seo [Wed, 3 Jul 2024 11:01:03 +0000 (20:01 +0900)]
"platforms.h" include should be before its usage

9 months agoImpl. parser accepting files and dirs
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

9 months agoRemove 'extern' from parser.h
Stephen Seo [Wed, 3 Jul 2024 08:55:35 +0000 (17:55 +0900)]
Remove 'extern' from parser.h

9 months agoAdd helpers for conversion to/from big-endian
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.

9 months agoRevise file_format
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 .

9 months agoSome work on arg parser
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.

9 months agoFix unit test for priority heap
Stephen Seo [Sun, 30 Jun 2024 11:02:47 +0000 (20:02 +0900)]
Fix unit test for priority heap

9 months agoChange priority_heap to accept "less_fn"
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".

9 months agoMinor fix to doc comment about priority heap
Stephen Seo [Sun, 30 Jun 2024 06:35:27 +0000 (15:35 +0900)]
Minor fix to doc comment about priority heap

9 months agoImpl. priority heap, minor tweaks/fixes
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`.

9 months agoAdd `platforms.h` header to determine platform
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.

9 months agoAdd action/workflow to run unit tests
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`.

9 months agoUpdate README.md
Stephen Seo [Sat, 29 Jun 2024 07:00:59 +0000 (16:00 +0900)]
Update README.md

9 months agoFix cosmopolitan/Makefile missing files
Stephen Seo [Fri, 28 Jun 2024 10:35:06 +0000 (19:35 +0900)]
Fix cosmopolitan/Makefile missing files

9 months agoFix hashing in hash_map (hopefully finally)
Stephen Seo [Fri, 28 Jun 2024 09:19:29 +0000 (18:19 +0900)]
Fix hashing in hash_map (hopefully finally)

9 months agoFix hash_map hashing (hopefully the final time)
Stephen Seo [Fri, 28 Jun 2024 09:17:38 +0000 (18:17 +0900)]
Fix hash_map hashing (hopefully the final time)

9 months agoFix hashing in hash_map
Stephen Seo [Fri, 28 Jun 2024 09:15:40 +0000 (18:15 +0900)]
Fix hashing in hash_map

9 months agoRevert "Minor additions to unit test of data structures"
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.

9 months agoMinor additions to unit test of data structures
Stephen Seo [Fri, 28 Jun 2024 08:38:43 +0000 (17:38 +0900)]
Minor additions to unit test of data structures

9 months agoImpl. hash_map
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.

9 months agoImplement a linked list data structure
Stephen Seo [Fri, 28 Jun 2024 04:54:38 +0000 (13:54 +0900)]
Implement a linked list data structure

9 months agoCreate Makefile for building with cosmocc
Stephen Seo [Fri, 28 Jun 2024 04:02:26 +0000 (13:02 +0900)]
Create Makefile for building with cosmocc

Resolves #9.

9 months agoUpdate README.md
Stephen Seo [Thu, 27 Jun 2024 08:21:59 +0000 (17:21 +0900)]
Update README.md

9 months agoRename executable to lowercase
Stephen Seo [Thu, 27 Jun 2024 08:20:46 +0000 (17:20 +0900)]
Rename executable to lowercase

9 months agoRemove unnecessary prints, `clang-format`
Stephen Seo [Thu, 27 Jun 2024 04:30:18 +0000 (13:30 +0900)]
Remove unnecessary prints, `clang-format`

9 months agoFix invalid memory usage bug causing invalid free
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.

9 months agoImpl. parser (TODO Fix invalid free crash) stream_03
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.

9 months agoUpdate file_format.md
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.

9 months agoDefine file format (version 0 file format)
Stephen Seo [Thu, 27 Jun 2024 01:14:10 +0000 (10:14 +0900)]
Define file format (version 0 file format)

Resolves #1.

9 months agoAdd LICENSE, README.md, and license info in source
Stephen Seo [Wed, 26 Jun 2024 10:19:21 +0000 (19:19 +0900)]
Add LICENSE, README.md, and license info in source

9 months agoCreate skeleton C project
Stephen Seo [Wed, 26 Jun 2024 08:57:23 +0000 (17:57 +0900)]
Create skeleton C project