| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
| |
This ensures that filters may be opened and closed only once and
__archive_write_filter() may be called only on an open filter.
Refactor filter open code and move logic to archive_write.c
Fixes #351
|
| |
|
| |
|
| |
|
|
|
|
| |
libbz2 is unavailable.
|
| |
|
|
|
|
| |
Properly set a clear error message when archive_{write,read}_set_options failed.
|
|
|
|
|
|
| |
in order to reduce an extra copy of output data at archive_write.c.
SVN-Revision: 4090
|
|
|
|
|
|
|
|
| |
Not all C compilers are happy with them, lxc on AIX for example.
There are much more of them in the testing code but the ones
fixed with this commit make at least the most important things compile.
SVN-Revision: 2986
|
|
|
|
|
|
| |
Correct the bzip2 and compress writers.
SVN-Revision: 2773
|
|
|
|
| |
SVN-Revision: 2488
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Change __archive_check_magic to return a status code.
* Change callers to use the archive_check_magic() wrapper macro,
which calls __archive_check_magic and returns immediately
if there's an ARCHIVE_FATAL status.
* Update a bunch of API calls to actually do magic state checks.
I've also changed __archive_check_magic around a little bit:
* Magic number checks still call abort().
* State failures still call abort()
* Starting with libarchive 3.0, state failures will return ARCHIVE_FATAL.
SVN-Revision: 2003
|
|
|
|
|
|
|
|
|
| |
the client write functions. So I've moved all of the blocking
code (that used to be duplicated in every compression filter)
into archive_write.c in the code that wraps the client callbacks.
As a result, add_filter_none is a true no-op.
SVN-Revision: 1936
|
|
of files. But, the old API is supported almost entirely unchanged, which
I wasn't certain would be possible.
Big changes:
* You can add more than one write filter by using
archive_write_add_filter_{bzip2,compress,gzip,lzma,xz}.
This will be more interesting when we have uuencode, RPM, encryption.
* The old archive_write_set_compression_XXXX are shorthands for
"remove all the current filters and add this one." They're
deprecated and scheduled to be removed in libarchive 4.0.
* The internal API and life cycle for write filters has been
rationalized: create, set options, open, write, close, free.
* New utility functions provide information about each filter
when there's more than one: code, name, and number of bytes processed
* Old archive_bytes_compressed(), etc, are implemented in terms of
the more generic new functions.
* The read side was generalized to also support the new utility
functions.
In particular, the write filters are much simpler since each
one doesn't have to deal with blocking. In this version, there's
still a "write_add_filter_none" that handles blocking, but I
think I'll soon fold that down into the client wrapper and
add_filter_none will become a no-op. I think this also gets
us a big step closer to multi-volume support on the write side.
SVN-Revision: 1920
|