aboutsummaryrefslogtreecommitdiff
path: root/lib/libarchive/archive_write_disk.c
Commit message (Collapse)AuthorAgeFilesLines
...
* libarchive 2.2.3Tim Kientzle2007-05-291-20/+92
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * "compression_program" support uses an external program * Portability: no longer uses "struct stat" as a primary data interchange structure internally * Part of the above: refactor archive_entry to separate out copy_stat() and stat() functions * More complete tests for archive_entry * Finish archive_entry_clone() * Isolate major()/minor()/makedev() in archive_entry; remove these from everywhere else. * Bug fix: properly handle decompression look-ahead at end-of-data * Bug fixes to 'ar' support * Fix memory leak in ZIP reader * Portability: better timegm() emulation in iso9660 reader * New write_disk flags to suppress auto dir creation and not overwrite newer files (for future cpio front-end) * Simplify trailing-'/' fixup when writing tar and pax * Test enhancements: fix various compiler warnings, improve portability, add lots of new tests. * Documentation: document new functions, first draft of libarchive_internals.3 MFC after: 14 days Thanks to: Joerg Sonnenberger (compression_program) Thanks to: Kai Wang (ar) Thanks to: Colin Percival (many small fixes) Thanks to: Many others who sent me various patches and problem reports. Notes: svn path=/head/; revision=170079
* Remove pointless code: Don't assign a value to a variable when we'reColin Percival2007-05-211-1/+0
| | | | | | | | | | | | | | going to overwrite it with a new value a few lines later. Visual inspection of the surrounding code indicates that the code does what it's supposed to do; i.e., the pointless code wasn't supposed to be doing something other than what it was doing. CID: 3323 Found by: Coverity Prevent(tm) Notes: svn path=/head/; revision=169812
* Properly cleanup the UID/GID lookup data.Tim Kientzle2007-04-151-0/+4
| | | | Notes: svn path=/head/; revision=168747
* Invoke utime(2) properly. (It's only used on platformsTim Kientzle2007-04-141-2/+2
| | | | | | | that lack utimes(2).) Notes: svn path=/head/; revision=168739
* More portability improvements from Martin Koeppe:Tim Kientzle2007-04-141-0/+51
| | | | | | | | | conditionally use utime() when utimes() is not available; allow the most common wide-char functions to be replaced when local alternatives are lacking. Notes: svn path=/head/; revision=168701
* Make Lint happier.Tim Kientzle2007-04-121-1/+2
| | | | Notes: svn path=/head/; revision=168647
* Fix build on Solaris.Tim Kientzle2007-04-071-1/+1
| | | | Notes: svn path=/head/; revision=168476
* Be consistent: file flags are unsigned bitmaps.Tim Kientzle2007-04-021-1/+1
| | | | | | | Thanks to: Joerg Sonnenberger Notes: svn path=/head/; revision=168235
* Notice when mkdir() fails.Tim Kientzle2007-03-241-9/+16
| | | | | | | | | | | Don't change permissions on an existing dir unless _EXTRACT_PERM is requested. In particular, bsdtar -x should not edit mode of existing dirs now; bsdtar -xp will. Notes: svn path=/head/; revision=167863
* When ARCHIVE_EXTRACT_UNLINK is requested:Tim Kientzle2007-03-131-4/+10
| | | | | | | | | | | * Only try to remove the existing item if we're not restoring a directory. * If unlink fails, try rmdir next. This should fix the broken --unlink option in bsdtar. Thanks again to: Kris Kennaway, for beating up bsdtar on pointyhat. Notes: svn path=/head/; revision=167499
* Libarchive 2.0.23:Tim Kientzle2007-03-111-1/+4
| | | | | | | | | | | | | | | * The ACL formatter was mis-formatting entries which had a user/group ID but no name. Make the parser tolerant of these, so that old archives can be correctly restored; fix the formatter to generate correct entries. * Fix overwrite detection by introducing a new "FAILED" return code that indicates the current entry cannot be continued but the archive as a whole is still sound. * Header cleanup: Remove some unused headers, add some that are required with new Linux systems. Notes: svn path=/head/; revision=167449
* libarchive 2.0Tim Kientzle2007-03-031-0/+1929
* 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. Notes: svn path=/head/; revision=167186