diff options
author | kientzle <kientzle@FreeBSD.org> | 2007-03-03 07:37:37 +0000 |
---|---|---|
committer | kientzle <kientzle@FreeBSD.org> | 2007-03-03 07:37:37 +0000 |
commit | 1a60578adb6be1f7da9ed95f38cf52c20be13591 (patch) | |
tree | 1b026213a337089af577dee3ed6d194ee1b87d88 /lib/libarchive/archive_write.3 | |
parent | 56746aa8e0ffff51b371e72446368d6dbbe6b4ba (diff) | |
download | FreeBSD-src-1a60578adb6be1f7da9ed95f38cf52c20be13591.zip FreeBSD-src-1a60578adb6be1f7da9ed95f38cf52c20be13591.tar.gz |
libarchive 2.0
* libarchive_test program exercises many of the core features
* Refactored old "read_extract" into new "archive_write_disk", which
uses archive_write methods to put entries onto disk. In particular,
you can now use archive_write_disk to create objects on disk
without having an archive available.
* Pushed some security checks from bsdtar down into libarchive, where
they can be better optimized.
* Rearchitected the logic for creating objects on disk to reduce
the number of system calls. Several common cases now use a
minimum number of system calls.
* Virtualized some internal interfaces to provide a clearer separation
of read and write handling and make it simpler to override key
methods.
* New "empty" format reader.
* Corrected return types (this ABI breakage required the "2.0" version bump)
* Many bug fixes.
Diffstat (limited to 'lib/libarchive/archive_write.3')
-rw-r--r-- | lib/libarchive/archive_write.3 | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/lib/libarchive/archive_write.3 b/lib/libarchive/archive_write.3 index d90af7d..6725a71 100644 --- a/lib/libarchive/archive_write.3 +++ b/lib/libarchive/archive_write.3 @@ -89,13 +89,13 @@ .Fn archive_write_open_memory "struct archive *" "void *buffer" "size_t bufferSize" "size_t *outUsed" .Ft int .Fn archive_write_header "struct archive *" "struct archive_entry *" -.Ft int +.Ft ssize_t .Fn archive_write_data "struct archive *" "const void *" "size_t" .Ft int .Fn archive_write_finish_entry "struct archive *" .Ft int .Fn archive_write_close "struct archive *" -.Ft void +.Ft int .Fn archive_write_finish "struct archive *" .Sh DESCRIPTION These functions provide a complete API for creating streaming @@ -260,6 +260,12 @@ Complete the archive and invoke the close callback. Invokes .Fn archive_write_close if it was not invoked manually, then releases all resources. +Note that this function was declared to return +.Ft void +in libarchive 1.x, which made it impossible to detect errors when +.Fn archive_write_close +was invoked implicitly from this function. +This is corrected beginning with libarchive 2.0. .El More information about the .Va struct archive @@ -457,8 +463,9 @@ through whatever API function resulted in that call, which may include .Fn archive_write_header , .Fn archive_write_data , +.Fn archive_write_close , or -.Fn archive_write_close . +.Fn archive_write_finish . The client callback can call .Fn archive_set_error to provide values that can then be retrieved by |