diff options
author | kientzle <kientzle@FreeBSD.org> | 2004-03-19 22:37:06 +0000 |
---|---|---|
committer | kientzle <kientzle@FreeBSD.org> | 2004-03-19 22:37:06 +0000 |
commit | ef0d6eb5985e7a4f4fd2f0f42925e8328b8cf004 (patch) | |
tree | 31fad164e4fe18412497337d4c8e1a7e7c792609 /lib/libarchive/archive_write.c | |
parent | edf0b18239fcd09677972580f323c10d3a59afab (diff) | |
download | FreeBSD-src-ef0d6eb5985e7a4f4fd2f0f42925e8328b8cf004.zip FreeBSD-src-ef0d6eb5985e7a4f4fd2f0f42925e8328b8cf004.tar.gz |
Many fixes:
* Disabled shared-library building, as some API breakage is
still likely. (I didn't realize it was turned on by default.) If
you have an existing /usr/lib/libarchive.so.2, I recommend deleting it.
* Pax interchange format now correctly stores and reads UTF8
for extended attributes. In particular, pax format can portably
handle arbitrarily long pathnames containing arbitrary characters.
* Library compiles cleanly at -O2, -O3, and WARNS=6 on all
FreeBSD-CURRENT platforms.
* Minor portability improvements inspired by Juergen Lock
and Greg Lewis. (Less reliance on stdint.h, isolating of
various portability-challenged constructs.)
* archive_entry transparently converts multi-byte <-> wide character
strings, allowing clients and format handlers to deal with either
one, as appropriate.
* Support for reading 'L' and 'K' entries in standard tar archives
for star compatibility.
* Recognize (but don't yet handle) ACL entries from Solaris tar.
* Pushed format-specific data for format readers down into
format-specific storage and out of library-global storage. This
should make it easier to maintain individual formats without mucking
with the core library management.
* Documentation updates to track the above changes.
* Updates to tar.5 to correct a few mistakes and add some additional
information about GNU tar and Solaris tar formats.
Notes:
* The basic 'tar' reader is getting more general; there's not much
point in keeping the 'gnutar' reader separate. Merging the two
would lose a bunch of duplicate code.
* The libc ACL support is looking increasingly inadequate for my needs
here. I might need to assemble some fairly significant code for
parsing and building ACLs. <sigh>
Diffstat (limited to 'lib/libarchive/archive_write.c')
-rw-r--r-- | lib/libarchive/archive_write.c | 13 |
1 files changed, 0 insertions, 13 deletions
diff --git a/lib/libarchive/archive_write.c b/lib/libarchive/archive_write.c index 050d7e2..eac7413 100644 --- a/lib/libarchive/archive_write.c +++ b/lib/libarchive/archive_write.c @@ -35,7 +35,6 @@ __FBSDID("$FreeBSD$"); * needlessly bloating statically-linked clients. */ -#include <sys/errno.h> #include <sys/wait.h> #ifdef HAVE_DMALLOC #include <dmalloc.h> @@ -169,18 +168,6 @@ archive_write_finish(struct archive *a) /* Release various dynamic buffers. */ free((void *)(uintptr_t)(const void *)a->nulls); - if (a->entry_name.s != NULL) - free(a->entry_name.s); - if (a->entry_linkname.s != NULL) - free(a->entry_linkname.s); - if (a->entry_uname.s != NULL) - free(a->entry_uname.s); - if (a->entry_gname.s != NULL) - free(a->entry_gname.s); - if (a->gnu_name.s != NULL) - free(a->gnu_name.s); - if (a->gnu_linkname.s != NULL) - free(a->gnu_linkname.s); if (a->extract_mkdirpath.s != NULL) free(a->extract_mkdirpath.s); free(a); |