summaryrefslogtreecommitdiff
path: root/libarchive/archive_write_add_filter_bzip2.c
Commit message (Collapse)AuthorAgeFilesLines
* Implement private state logic for write filtersMartin Matuska2019-12-061-4/+0
| | | | | | | | | 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
* Refactor archive_write_close_filter logicJoerg Sonnenberger2019-11-271-4/+2
|
* Fix bug for __archive_write_program_allocatecinience2016-02-011-1/+1
|
* Fix build and test failure without libbz2.Michihiro NAKAJIMA2012-10-161-37/+56
|
* Enable bzip2 compression to use an external bzip2 program whenMichihiro NAKAJIMA2012-10-131-46/+88
| | | | libbz2 is unavailable.
* Replace deprecated macro ARCHIVE_COMPRESSION_* by ARCHIVE_FILTER_*.Michihiro NAKAJIMA2012-10-091-1/+1
|
* Fix issue 237.Michihiro NAKAJIMA2012-02-141-0/+3
| | | | Properly set a clear error message when archive_{write,read}_set_options failed.
* The size of output buffer should be the multiple number of the write block sizeMichihiro NAKAJIMA2012-01-061-3/+11
| | | | | | in order to reduce an extra copy of output data at archive_write.c. SVN-Revision: 4090
* DO NOT USE C++ style comments like // in C code !Björn Jacke2011-02-171-2/+2
| | | | | | | | 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
* __archive_write_filter returns a status, not a count of bytes written.Tim Kientzle2010-10-311-13/+4
| | | | | | Correct the bzip2 and compress writers. SVN-Revision: 2773
* Deal with bzip2 before 1.0 by not using it.Joerg Sonnenberger2010-06-191-2/+2
| | | | SVN-Revision: 2488
* Open a door to changing the current abort-on-state-failure behavior:Tim Kientzle2010-03-011-2/+2
| | | | | | | | | | | | | | | * 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 only place blocking is really needed is just before callingTim Kientzle2010-02-211-9/+5
| | | | | | | | | 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
* Stackable write filter support. This ended up touching an awful lotTim Kientzle2010-02-201-0/+348
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