Commit Graph

5 Commits

Author SHA1 Message Date
ae7bf076dc
fix: Avoid leaking all kinds of stuff in examples/pack
Apart from potentionally leaking malloced memory on error,
which isn't too bad since we immediately exit afterwards,
we were leaving all opened files dangling, as fclose() was never called.
2023-12-12 23:27:05 +01:00
1644ab59eb
fix: Add support for my own OS to examples
Luna doesn't support FIFOs, and special device files are
automatically created by the kernel, so there is no mknod().
2023-05-27 19:58:23 +02:00
bf52d9e321
fix: Handle malloc errors properly in pack.c 2023-02-05 14:38:31 +01:00
40302ddd41
fix: Do not define metadata twice in examples/pack.c 2023-02-05 14:30:29 +01:00
482ac6d949
feat: Add write support
This uses a new struct (struct minitar_w).
This struct is initialized using the minitar_open_w function, and deleted using minitar_close_w.

The functions to write to an archive are minitar_write_file_entry() and minitar_write_special_entry().
The difference is that regular files have content, while the rest (special entries) do not.

This commit also adds a new example program (pack), which can create tar archives from files (no directory support though).

Archives created using pack and minitar can be read and extracted using GNU tar!!

Documentation is coming in another commit.
2023-02-04 19:02:08 +01:00