Commit Graph

90 Commits

Author SHA1 Message Date
d8faf424ad
fix: Skip the padding field when calculating header checksums 2023-01-19 22:32:01 +01:00
240a4f2f1a
chore: Add examples to CMake as opt-in targets 2023-01-19 22:30:23 +01:00
9a7629459e
chore: Add copyright headers to all source files 2023-01-12 21:04:52 +01:00
bacc971007
docs: Add build instructions 2023-01-12 20:45:46 +01:00
8e16524e1c
docs: Add a note about examples to README.md 2023-01-12 20:06:22 +01:00
e758012948
feat: Add two examples 2023-01-12 20:04:28 +01:00
27dac123f4
fix: Make minitar_read_contents() take a const pointer to entry 2023-01-12 20:03:42 +01:00
912b98d2d7
fix: Include stddef.h in minitar.h to make sure we have size_t 2023-01-12 20:02:13 +01:00
5be3c7d684
Enable syntax highlighting for the sample program 2023-01-12 19:34:33 +01:00
dead1e3ee2
feat: Move all internal structures to a minitar_entry_internal struct 2023-01-12 19:20:32 +01:00
07c156c30b
docs: Move API docs to docs/API.md and link there from README 2023-01-12 19:15:53 +01:00
a790b6f960
docs: Clarify some sentences 2023-01-12 19:13:31 +01:00
d9b0dce41a
Remove minitar_panic() wrapper around minitar_handle_panic() 2023-01-12 19:01:55 +01:00
e568e88617
Remove assertion that was not used
minitar_static_dup() is always called with sizes MUCH smaller than 1024.
2023-01-12 19:00:12 +01:00
7b83dce96a
feat: calculate header checksums and validate them against hdr->chksum
Fixes #2.
2023-01-11 21:02:37 +01:00
f2f4d4ddab
Update tar.h to use MSVC-compatible struct packing
Fixes #3.
2023-01-08 12:47:09 +01:00
087b099917
Documentation update 2022-12-31 12:57:24 +01:00
55276a78e2
Add newlines at EOF so clang doesn't complain 2022-12-31 12:51:47 +01:00
ab80b8ba45
Correct includes 2022-12-31 12:48:53 +01:00
39d5ee5b9a
Remove dependency on strtoul() and strtoull() by making our own specialized parse_octal() function 2022-12-31 12:40:21 +01:00
165352cdca
Bounds checking :) 2022-12-30 11:13:55 +01:00
d018d128a0
Optionally ignore unsupported types instead of panicking 2022-12-30 11:13:21 +01:00
56d43f98ac
Mention the fact that it is faster than GNU tar
At least, according to my benchmarking tool that I just created for exactly this purpose :)
2022-12-25 16:57:49 +01:00
7d4e774cf7
Rewrite the entire API just to eliminate heap allocations
Just bumping minor because nobody uses this and I don't want to jump up to 2.0.0
2022-12-25 14:33:47 +01:00
89bc990725
More optimization and heap elimination 2022-12-25 13:31:11 +01:00
555059a742
PERFORMANCE OPTIMIZATIONS 2022-12-25 13:21:09 +01:00
41a1e23abf
Remove -ansi and make it compile under TCC 2022-12-25 13:06:02 +01:00
51b09f35ad
MSVC does not have __attribute__((weak)) 2022-12-25 13:00:47 +01:00
a04af496f0
Use -ansi to build when using GCC/Clang 2022-12-25 12:59:09 +01:00
23c313d9cf
Get rid of libgen.h in favor of our own basename :) 2022-12-25 12:51:35 +01:00
4ab1cd42c9 Update README.md 2022-12-01 18:39:03 +00:00
c78566bb27 Split basename parsing into a helper function 2022-12-01 19:37:37 +01:00
125ec8f063 Provide strdup ourselves 2022-12-01 19:30:51 +01:00
aff867f667 Add references to minitar_find_by_path() in README.md 2022-11-30 19:32:21 +01:00
dd3d84be76 Update README.md 2022-11-30 19:25:55 +01:00
577f99cca6 Reorder function declarations in minitar.h 2022-11-30 11:20:36 +01:00
28d1eab1c1 Remove character and block devices from supported entry types
Closes #1.
2022-11-30 11:20:13 +01:00
eeb7bccda8 Skip null-terminating a result already null-terminated by strlcpy() 2022-11-30 11:14:11 +01:00
e922cfe8b9 read_contents(): shortcircuit if an entry is empty 2022-11-30 10:36:19 +01:00
e43f4d9a07 Add the root directory as an include directory for minitar.h 2022-11-23 21:22:40 +01:00
7b5e6196a7 Make some functions only used in util.c static 2022-11-23 20:59:15 +01:00
f156f8472e attempt_read_entry -> try_to_read_valid_entry 2022-11-23 20:56:57 +01:00
cdf1e0bcba Make minitar_read_contents cleaner 2022-11-23 20:56:08 +01:00
726afbae15 Update tar.h 2022-11-23 20:52:18 +01:00
400a51893e Update README.md 2022-11-23 20:50:40 +01:00
408342cb1d Remove shadow function 2022-11-23 20:41:44 +01:00
9420107a55 More commenting 2022-11-23 20:40:47 +01:00
9fe8159d5a More commenting + minitar_get_size_in_blocks -> minitar_align_up_to_block_size 2022-11-23 20:39:34 +01:00
653f9a90d0 Provide our own strndup + a lot more comments going on 2022-11-23 20:32:05 +01:00
f929a860c4 Be more explicit about "what" is necessary to read the file properly 2022-11-23 18:32:42 +01:00