aboutsummaryrefslogtreecommitdiff
path: root/lib/libarchive/archive_string_sprintf.c
Commit message (Collapse)AuthorAgeFilesLines
* MFC r177185,r177186,r177187: Rework the versioning interface again.Tim Kientzle2008-08-111-0/+10
| | | | | | | | The new interface has fewer elements and seems to be easier to use. Of course, I'm retaining the old interface until libarchive 3.x. Notes: svn path=/stable/6/; revision=181569
* MFC better error handling from archive_string_ensure()Tim Kientzle2007-07-191-1/+3
| | | | | | | | | failures. Several key users of this function now simply return ENOMEM to the caller instead of aborting the program. Notes: svn path=/stable/6/; revision=171499
* MFC: synchronize libarchive with FreeBSD-CURRENT. This includesTim Kientzle2007-01-271-3/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | the following: * License updates. * Fixes for FreeBSD/arm * New read_open_filename, read_open_memory * New write_open_filename, write_open_memory * Write-blocking cleanup (cperciva@) * Adjust API so read_open/write_open funcs only need public API * Portability improvements (casts, include guards, etc.) * Properly pad sparse archive entries with blocks of zero bytes (cperciva@) * Correct copy of data to file when very large reads are possible * Be more flexible about dir permissions to avoid some fixups * Correct skip handling for entries over 2G (cperciva@) * ISO9660: skip entries faster, support entries over 2G * Tar: correct position accounting when skipping large entries (cperciva@) * Support unbuffered write as a special case (blocksize=0) (cperciva@) * Documentation corrections, improvements * Spelling corrections (cperciva@) * Improve some internal error returns A few of these changes break the API/ABI and are therefore conditional on the version number. FreeBSD 6 will continue to use libarchive 1.x, which will continue to use the old API/ABI. When all of these changes are ready, the libarchive version number will be changed in -CURRENT to enable the new API. Hopefully, this will allow the actual source to remain identical between FreeBSD 6 and 7; only the version parameters in the Makefile will be different. Notes: svn path=/stable/6/; revision=166273
* Implement a custom print formatter (archive_string_vsprintf)Tim Kientzle2005-01-161-14/+77
| | | | | | | | | | | | | | | | | for libarchive error messages. Mostly, this avoids a portability headache related to copying va_list arguments (some FreeBSD 5 platforms require va_copy; FreeBSD 4 doesn't support va_copy at all). It also dramatically reduces the size of libarchive for embedded applications: a minimal "untar" program using libarchive can now be under 64k statically linked (as opposed to ~100k using library *printf() functions). MFC after: 14 days Notes: svn path=/head/; revision=140362
* Remove the unused archive_string_sprintf() utility function.Tim Kientzle2004-11-051-13/+0
| | | | Notes: svn path=/head/; revision=137238
* It is not legal to re-use a va_list variable. This causedTim Kientzle2004-08-261-1/+4
| | | | | | | | | a crash on amd64, in particular. Thanks to: Sean McNeil Notes: svn path=/head/; revision=134327
* Eliminate reliance on non-portable <err.h> by implementing a veryTim Kientzle2004-08-141-1/+0
| | | | | | | | | | simple errx() function. Improve behavior when bzlib/zlib are missing by detecting and issuing an error message on attempts to read gzip/bzip2 compressed archives. Notes: svn path=/head/; revision=133710
* More work on ACLs: fix error in archive_entry's ACL parsing code,Tim Kientzle2004-04-121-3/+0
| | | | | | | | | | | | | | | | | try to set ACLs even if fflag restore fails, first cut at reading Solaris tar ACLs Code improvement: merge gnu tar read support into main tar reader; this eliminates a lot of duplicate code and generalizes the tar reader to handle formats with GNU-like extensions. Style: Makefile cleanup, eliminate 'dmalloc' references, remove 'tartype' from archive_entry (this makes archive_entry more format-agnostic) Thanks to: David Magda for providing Solaris tar test files Notes: svn path=/head/; revision=128148
* Many fixes.Tim Kientzle2004-03-091-2/+3
| | | | | | | | | | | | | | | | | | | 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 Notes: svn path=/head/; revision=126782
* Initial import of libarchive.Tim Kientzle2004-02-091-0/+79
What it is: A library for reading and writing various streaming archive formats, especially tar and cpio. Being a library, it should be easy to incorporate into pkg_* tools, sysinstall, and any other place that needs to read or write such archives. Features: * Full automatic detection of both compression and archive format. * Extensible internal architecture to make it easy to add new formats. * Support for "pax interchange format," a new POSIX-standard tar format that eliminates essentially all of the restrictions of historic formats. * BSD license Thanks to: jkh for pushing me to start this work, gordon for encouraging me to commit it, bde for answering endless style questions, and many others for feedback and encouragement. Status: Pretty good overall, though there are still a few rough edges and the library could always use more testing. Feedback eagerly solicited. Notes: svn path=/head/; revision=125635