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
fd85cf1c6a
Full path is now metadata->path and basename metadata->name
...
Shouldn't have rushed to 1.0.0 so quickly. Oh well, I guess I can allow 1.1.0...
2022-11-23 18:32:10 +01:00
b7c27a25a6
Reorganize minitar_attempt_read_entry
2022-11-22 17:28:34 +01:00
ba7b77bdae
Rename internal function minitar_parse_tar_header -> minitar_parse_metadata_from_tar_header
2022-11-22 17:28:15 +01:00
0fbcdde399
Return fclose's status code
2022-11-22 17:25:17 +01:00
d123c49946
Do not automatically read an entry's contents, leave it up to the user
...
This API change modifies minitar_read_entry to skip over the file's contents and instead store the current read position in the entry.
struct minitar_entry no longer has a ptr field, but has a position field (of type fpos_t) for internal use.
minitar_free_entry no longer frees entry->ptr.
A new function has been added, minitar_read_contents().
It reads a certain number of bytes from an entry (which is capped to the entry's size) into a user-provided buffer.
This function can be called at any time provided it is called with a valid archive stream and entry.
This is achieved by calling fgetpos() to store the start of the entry's contents in the entry's position field while reading it.
Then minitar_read_contents() will store the current position, rewind to the entry's position, read the chosen number of bytes from the archive, and then rewind back to the current position.
Since this is a breaking change, it needs a major version bump. Since there was no version, I bumped it to 1.0.0 :)
2022-11-21 20:20:37 +01:00
9695889040
Add FIXME
2022-11-21 19:17:29 +01:00
e3fae29713
Safer string copying
2022-11-21 19:15:52 +01:00
54e1473aee
Remove one more line
2022-11-21 19:08:10 +01:00
6c696c67b1
Revert previous commit, but using strtoul(l) everywhere
...
I'm pretty sure every field in a tar header is unsigned octal...
2022-11-21 19:07:49 +01:00
30c7c0ad57
Determine the signedness of standard types
2022-11-21 19:01:12 +01:00
d97992c519
Remove Makefile
2022-11-21 18:17:39 +01:00
2aed955e94
Use const pointers when possible
2022-11-21 17:38:08 +01:00
1633012823
Provide a CMakeLists.txt to use minitar with CMake
2022-11-20 20:14:08 +01:00
363c01d6f8
Update README.md
2022-11-06 13:58:41 +00:00
df26e6d772
Rename minitar_read_file to minitar_read_file_contents
2022-11-06 14:23:35 +01:00
97da894c0f
Make naming consistent across all files
2022-11-06 14:21:32 +01:00
4401b1ca3a
Update README.md
2022-11-06 14:18:36 +01:00
28085731f1
Not all 0-sized reads are errors
...
If you requested 0 bytes, the kernel gives you 0 bytes back
2022-11-06 14:14:06 +01:00
fd32be351e
Remove unnecessary include
2022-11-06 12:46:07 +01:00
7af3cfdfa0
Correct C++ signature
2022-11-06 12:39:17 +01:00
c8ef43e33b
Make it C++-compatible
2022-11-06 12:35:30 +01:00
53723e6e2f
Document how to override the default panic function
2022-11-06 12:34:49 +01:00
f2fdf726ce
Add a way to override the panic function
2022-11-06 12:24:13 +01:00
bdb500b290
Remove unnecessary line in header
2022-11-06 12:16:04 +01:00
4b20ab2e36
Create required directories in the install step
2022-11-06 12:14:03 +01:00
aeb1767028
Document types in README
2022-11-06 12:11:40 +01:00
ae70e11b12
State the license in the README
2022-11-06 11:56:40 +01:00
15531b2c52
Fix typo =D
2022-11-06 11:51:47 +01:00
a3d3cddeb3
Add functions to search for specific files or file types
2022-11-06 11:51:03 +01:00
8507f57bc1
Add minitar_rewind()
2022-11-06 11:22:27 +01:00
c05a8e1b07
Document the API in the README
2022-11-06 11:06:01 +01:00
6bb0fecdc4
Only define the contents of a struct minitar inside minitar
...
This structure should be opaque for everyone using the library, and every public API just uses a pointer to it.
2022-11-06 11:04:52 +01:00
6c916ad861
Add .clang-format
2022-11-06 11:02:26 +01:00
6e0b65aaa8
Open the tar archive in binary mode, for systems that require it
2022-11-06 10:37:09 +01:00
baf8318c29
Read file contents and store them in entry->ptr
2022-11-06 10:33:37 +01:00
0952af15b4
Basic file listing :)
2022-11-05 20:10:48 +01:00
e233ca00eb
Install minitar.h as well
2022-11-05 18:56:57 +01:00
24253be975
Be more consistent with Makefile variables
2022-11-05 18:53:55 +01:00
61b122fcf5
Initial groundwork
2022-11-05 18:52:51 +01:00
10159e1acc
Initial commit
2022-11-05 17:25:26 +00:00