diff options
author | mm <mm@FreeBSD.org> | 2011-08-25 08:35:09 +0000 |
---|---|---|
committer | mm <mm@FreeBSD.org> | 2011-08-25 08:35:09 +0000 |
commit | d02c70f432d57241ad6adf044f5fea83d571bd99 (patch) | |
tree | 98a2160b30a97972827b50ad6769e01c00a4acda /lib/libarchive/test/test_read_format_isojoliet_rr.c | |
parent | e104c96f018139a8d2a85057c37ae2e5999cbd41 (diff) | |
download | FreeBSD-src-d02c70f432d57241ad6adf044f5fea83d571bd99.zip FreeBSD-src-d02c70f432d57241ad6adf044f5fea83d571bd99.tar.gz |
Import bugfix for reading and extracting of FreeBSD ISO images with tar.
Upstream revision 3645 (merge of 3642):
Change the mechanism handling a rr_moved directory,
which is Rockridge extension that can exceed the limitation of
a maximum directory depth of ISO 9660.
- Stop reading all entries at a time.
- Connect "CL" entry to "RE" entry dynamically, which "CL" and "RE"
have information to rebuild a full directory tree.
- Tweak some related tests since we use Headsort for re-ordering
entries and it cannot make a steady order when the keies of
the entries are the same.
http://code.google.com/p/libarchive/issues/detail?id=168
Reviewed by: kientzle
Approved by: re (kib)
Obtained from: libarchive (release/2.8, svn rev 3645)
MFC after: 3 days
Diffstat (limited to 'lib/libarchive/test/test_read_format_isojoliet_rr.c')
-rw-r--r-- | lib/libarchive/test/test_read_format_isojoliet_rr.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/lib/libarchive/test/test_read_format_isojoliet_rr.c b/lib/libarchive/test/test_read_format_isojoliet_rr.c index 394df14..b971272 100644 --- a/lib/libarchive/test/test_read_format_isojoliet_rr.c +++ b/lib/libarchive/test/test_read_format_isojoliet_rr.c @@ -98,7 +98,7 @@ DEFINE_TEST(test_read_format_isojoliet_rr) /* A regular file with two names ("hardlink" gets returned * first, so it's not marked as a hardlink). */ assertEqualInt(0, archive_read_next_header(a, &ae)); - assertEqualString("long-joliet-file-name.textfile", + assertEqualString("hardlink", archive_entry_pathname(ae)); assertEqualInt(AE_IFREG, archive_entry_filetype(ae)); assert(archive_entry_hardlink(ae) == NULL); @@ -120,9 +120,10 @@ DEFINE_TEST(test_read_format_isojoliet_rr) /* Second name for the same regular file (this happens to be * returned second, so does get marked as a hardlink). */ assertEqualInt(0, archive_read_next_header(a, &ae)); - assertEqualString("hardlink", archive_entry_pathname(ae)); - assertEqualInt(AE_IFREG, archive_entry_filetype(ae)); assertEqualString("long-joliet-file-name.textfile", + archive_entry_pathname(ae)); + assertEqualInt(AE_IFREG, archive_entry_filetype(ae)); + assertEqualString("hardlink", archive_entry_hardlink(ae)); assert(!archive_entry_size_is_set(ae)); assertEqualInt(86401, archive_entry_mtime(ae)); |