diff options
author | kientzle <kientzle@FreeBSD.org> | 2004-03-09 19:50:41 +0000 |
---|---|---|
committer | kientzle <kientzle@FreeBSD.org> | 2004-03-09 19:50:41 +0000 |
commit | 90072dfae070d180d3c16e0f229fb392b4b910b5 (patch) | |
tree | cdb30a1bca796a2ba7a0c712682c923cc981d32c /lib/libarchive/archive_write_set_compression_bzip2.c | |
parent | 63f793ca249823f0c3812457a8342dd6702d0548 (diff) | |
download | FreeBSD-src-90072dfae070d180d3c16e0f229fb392b4b910b5.zip FreeBSD-src-90072dfae070d180d3c16e0f229fb392b4b910b5.tar.gz |
Many fixes.
Portability: Thanks to Juergen Lock, libarchive now compiles cleanly
on Linux. Along the way, I cleaned up a lot of error return codes and
reorganized some code to simplify conditional compilation of certain
sections.
Bug fixes:
* pax format now actually stores filenames that are 101-154
characters long.
* pax format now allows newline characters in extended attributes
(this fixes a long-standing bug in ACL handling)
* mtime/atime are now restored for directories
* directory list is now sorted prior to fix-up to permit
correct restore of non-writable dir heirarchies
Diffstat (limited to 'lib/libarchive/archive_write_set_compression_bzip2.c')
-rw-r--r-- | lib/libarchive/archive_write_set_compression_bzip2.c | 22 |
1 files changed, 12 insertions, 10 deletions
diff --git a/lib/libarchive/archive_write_set_compression_bzip2.c b/lib/libarchive/archive_write_set_compression_bzip2.c index 23828a2..ed6ebb4 100644 --- a/lib/libarchive/archive_write_set_compression_bzip2.c +++ b/lib/libarchive/archive_write_set_compression_bzip2.c @@ -24,10 +24,10 @@ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -#include <sys/cdefs.h> +#include "archive_platform.h" __FBSDID("$FreeBSD$"); -#ifdef DMALLOC +#ifdef HAVE_DMALLOC #include <dmalloc.h> #endif #include <errno.h> @@ -122,7 +122,7 @@ archive_compressor_bzip2_init(struct archive *a) } /* Library setup failed: clean up. */ - archive_set_error(a, -1, + archive_set_error(a, ARCHIVE_ERRNO_MISC, "Internal error initializing compression library"); free(state->compressed); free(state); @@ -130,17 +130,17 @@ archive_compressor_bzip2_init(struct archive *a) /* Override the error message if we know what really went wrong. */ switch (ret) { case BZ_PARAM_ERROR: - archive_set_error(a, -1, + archive_set_error(a, ARCHIVE_ERRNO_MISC, "Internal error initializing compression library: " "invalid setup parameter"); break; case BZ_MEM_ERROR: - archive_set_error(a, -1, + archive_set_error(a, ENOMEM, "Internal error initializing compression library: " "out of memory"); break; case BZ_CONFIG_ERROR: - archive_set_error(a, -1, + archive_set_error(a, ARCHIVE_ERRNO_MISC, "Internal error initializing compression library: " "mis-compiled library"); break; @@ -161,7 +161,7 @@ archive_compressor_bzip2_write(struct archive *a, const void *buff, state = a->compression_data; if (!a->client_writer) { - archive_set_error(a, EINVAL, + archive_set_error(a, ARCHIVE_ERRNO_PROGRAMMER, "No write callback is registered? " "This is probably an internal programming error."); return (ARCHIVE_FATAL); @@ -194,7 +194,7 @@ archive_compressor_bzip2_finish(struct archive *a) state = a->compression_data; ret = ARCHIVE_OK; if (a->client_writer == NULL) { - archive_set_error(a, EINVAL, + archive_set_error(a, ARCHIVE_ERRNO_PROGRAMMER, "No write callback is registered?\n" "This is probably an internal programming error."); ret = ARCHIVE_FATAL; @@ -256,7 +256,8 @@ cleanup: case BZ_OK: break; default: - archive_set_error(a, -1, "Failed to clean up compressor"); + archive_set_error(a, ARCHIVE_ERRNO_PROGRAMMER, + "Failed to clean up compressor"); ret = ARCHIVE_FATAL; } @@ -319,7 +320,8 @@ drive_compressor(struct archive *a, struct private_data *state, int finishing) return (ARCHIVE_OK); default: /* Any other return value indicates an error */ - archive_set_error(a, -1, "Bzip2 compression failed"); + archive_set_error(a, ARCHIVE_ERRNO_PROGRAMMER, + "Bzip2 compression failed"); return (ARCHIVE_FATAL); } } |