forked from dsoprea/TinyUntar
-
Notifications
You must be signed in to change notification settings - Fork 0
A tiny untar library written in C.
License
tmiw/TinyUntar
Folders and files
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
Repository files navigation
Introduction
============
This is a very small untar (TAR archive reader) utility written in C. It's
meant to be embedded within code. I wrote this because the only other option
seemed to be zlib, which was overkill. There are no library dependencies
other than the "math" library (for some standard math calls).
How it Works
============
You pass three callbacks to the read_tar() routine:
Header callback
Receives a header struct, and an entry index.
Identifies the beginning of a file. This callback is always invoked before
the other two.
Data callback
Receives a header struct, entry index, a block of data, and the length of
the block.
Called one or more times for each block of data. This callback is always
invoked after the header callback, and before the end callback.
End callback:
Receives a header struct, and an entry index.
This callback is always invoked after all of the data for an entry has been
reported.
Running the Example
==================
1) Run 'make'.
2) Run 'build/untar <TAR file>'
The example will expand all normal (non-links, non-special, non-directory..)
entries into /tmp. It will not create directories, so you'll have to create the
directories mentioned in the "can't write" error messages.
Notes
=====
This utility supports both the primitive and USTAR formats (this should be a
majority of the TAR files), but none of the vendor-specific formats that may
exist. I wrote it according to the specifications that I had available.
If a TAR file isn't being successfully read, submit a bug and I'll try to adopt
it, if there's a simple fix.
About
A tiny untar library written in C.
Resources
License
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published
Languages
- C 98.1%
- Makefile 1.6%
- CMake 0.3%