Author: kientzle
Date: Sat Mar  7 00:25:33 2009
New Revision: 189464
URL: http://svn.freebsd.org/changeset/base/189464

Log:
  Merge r659 from libarchive.googlecode.com:  Correctly report "none"
  as the compression name when no other read filter bid.  Add some
  assertions to various tests to verify that read filters are properly
  setting the textual name as well as the compression code.

Modified:
  head/lib/libarchive/archive_read.c
  head/lib/libarchive/test/test_compat_bzip2.c
  head/lib/libarchive/test/test_compat_gzip.c
  head/lib/libarchive/test/test_read_format_cpio_bin_Z.c
  head/lib/libarchive/test/test_read_format_tar.c

Modified: head/lib/libarchive/archive_read.c
==============================================================================
--- head/lib/libarchive/archive_read.c  Fri Mar  6 23:32:45 2009        
(r189463)
+++ head/lib/libarchive/archive_read.c  Sat Mar  7 00:25:33 2009        
(r189464)
@@ -289,12 +289,10 @@ archive_read_open2(struct archive *_a, v
        filter->read = client_read_proxy;
        filter->skip = client_skip_proxy;
        filter->close = client_close_proxy;
+       filter->name = "none";
+       filter->code = ARCHIVE_COMPRESSION_NONE;
        a->filter = filter;
 
-       /* In case there's no filter. */
-       a->archive.compression_code = ARCHIVE_COMPRESSION_NONE;
-       a->archive.compression_name = "none";
-
        /* Build out the input pipeline. */
        e = build_stream(a);
        if (e == ARCHIVE_OK)

Modified: head/lib/libarchive/test/test_compat_bzip2.c
==============================================================================
--- head/lib/libarchive/test/test_compat_bzip2.c        Fri Mar  6 23:32:45 
2009        (r189463)
+++ head/lib/libarchive/test/test_compat_bzip2.c        Sat Mar  7 00:25:33 
2009        (r189464)
@@ -69,6 +69,7 @@ compat_bzip2(const char *name)
 
        /* Verify that the format detection worked. */
        assertEqualInt(archive_compression(a), ARCHIVE_COMPRESSION_BZIP2);
+       assertEqualString(archive_compression_name(a), "bzip2");
        assertEqualInt(archive_format(a), ARCHIVE_FORMAT_TAR_USTAR);
 
        assertEqualInt(ARCHIVE_OK, archive_read_close(a));

Modified: head/lib/libarchive/test/test_compat_gzip.c
==============================================================================
--- head/lib/libarchive/test/test_compat_gzip.c Fri Mar  6 23:32:45 2009        
(r189463)
+++ head/lib/libarchive/test/test_compat_gzip.c Sat Mar  7 00:25:33 2009        
(r189464)
@@ -69,6 +69,7 @@ verify(const char *name)
 
        /* Verify that the format detection worked. */
        assertEqualInt(archive_compression(a), ARCHIVE_COMPRESSION_GZIP);
+       assertEqualString(archive_compression_name(a), "gzip");
        assertEqualInt(archive_format(a), ARCHIVE_FORMAT_TAR_USTAR);
 
        assertEqualInt(ARCHIVE_OK, archive_read_close(a));

Modified: head/lib/libarchive/test/test_read_format_cpio_bin_Z.c
==============================================================================
--- head/lib/libarchive/test/test_read_format_cpio_bin_Z.c      Fri Mar  6 
23:32:45 2009        (r189463)
+++ head/lib/libarchive/test/test_read_format_cpio_bin_Z.c      Sat Mar  7 
00:25:33 2009        (r189464)
@@ -46,6 +46,7 @@ DEFINE_TEST(test_read_format_cpio_bin_Z)
        failure("archive_compression_name(a)=\"%s\"",
            archive_compression_name(a));
        assertEqualInt(archive_compression(a), ARCHIVE_COMPRESSION_COMPRESS);
+       assertEqualString(archive_compression_name(a), "compress (.Z)");
        failure("archive_format_name(a)=\"%s\"",
            archive_format_name(a));
        assertEqualInt(archive_format(a), ARCHIVE_FORMAT_CPIO_BIN_LE);

Modified: head/lib/libarchive/test/test_read_format_tar.c
==============================================================================
--- head/lib/libarchive/test/test_read_format_tar.c     Fri Mar  6 23:32:45 
2009        (r189463)
+++ head/lib/libarchive/test/test_read_format_tar.c     Sat Mar  7 00:25:33 
2009        (r189464)
@@ -71,6 +71,7 @@ static void verifyEmpty(void)
        assertA(0 == archive_read_open_memory(a, archiveEmpty, 512));
        assertEqualIntA(a, ARCHIVE_EOF, archive_read_next_header(a, &ae));
        assertEqualInt(archive_compression(a), ARCHIVE_COMPRESSION_NONE);
+       assertEqualString(archive_compression_name(a), "none");
        failure("512 zero bytes should be recognized as a tar archive.");
        assertEqualInt(archive_format(a), ARCHIVE_FORMAT_TAR);
 
_______________________________________________
svn-src-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to