0xce,0xac,0xe0,0x02,0x00,0x20,0xfa,0x04,0xc5
};
+static unsigned char archive14_xattr_fstype[] = {
+0x78,0x61,0x72,0x21,0x00,0x1c,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc2,
+0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x22,0x00,0x00,0x00,0x00,0x78,0x9c,0x3d,0x8f,
+0x41,0x8e,0xc2,0x30,0x0c,0x45,0xf7,0x3d,0x45,0x94,0x3d,0x75,0x47,0x42,0x68,0x16,
+0xbf,0x61,0x37,0x27,0x18,0x0e,0x10,0xb5,0x4e,0x89,0x94,0x26,0x55,0xe3,0x41,0xc0,
+0xe9,0x49,0x4a,0x99,0xd5,0x7f,0x96,0x6d,0xe9,0x7d,0x9c,0xef,0x73,0x50,0x37,0x5e,
+0xb3,0x4f,0xb1,0xd7,0x5f,0x6d,0xa7,0x15,0xc7,0x21,0x8d,0x3e,0x4e,0xbd,0xbe,0xfc,
+0xfe,0x1c,0xbe,0xf5,0xd9,0x34,0xb8,0xdb,0xd5,0x40,0xd2,0x50,0xd0,0xf9,0xc0,0xca,
+0x8f,0xe5,0x58,0x1b,0x44,0x3b,0xb3,0x71,0xa0,0x2d,0x21,0x8f,0xa5,0x4c,0x65,0x0f,
+0xda,0x10,0x73,0x1a,0xd9,0x74,0xa7,0xe3,0x11,0xb4,0x61,0xa3,0x14,0xd8,0xfe,0x7f,
+0x07,0x8e,0x93,0x5c,0x4d,0xd9,0xee,0x84,0xe4,0x5c,0x66,0x31,0x1d,0x68,0x27,0x64,
+0xff,0xe4,0x7a,0xb1,0x25,0x3e,0x6e,0x2a,0xcb,0x23,0x70,0xaf,0xed,0xb2,0x04,0x3f,
+0x58,0x29,0xf6,0x94,0x06,0x61,0x39,0x64,0x59,0xd9,0xce,0x9a,0x76,0xb7,0xbf,0xcc,
+0x6b,0xeb,0x72,0xd5,0xf9,0x58,0xbe,0x27,0x73,0x75,0x19,0xb4,0x33,0x88,0x6d,0xa9,
+0x46,0xd5,0xbd,0x66,0x6d,0x0a,0xaa,0xa5,0x9b,0x17,0xc3,0xba,0x60,0xaa,0x44,0x41,
+0x54,0x41
+};
+
enum enc {
GZIP,
BZIP2
assertEqualInt(ARCHIVE_OK, archive_read_free(a));
}
+static void verify_xattr_fstype_cleanup(unsigned char *d, size_t s)
+{
+ struct archive_entry *ae;
+ struct archive *a;
+ int r;
+
+ assert((a = archive_read_new()) != NULL);
+ assertA(0 == archive_read_support_filter_all(a));
+ r = archive_read_support_format_xar(a);
+ if (r == ARCHIVE_WARN) {
+ skipping("xar reading not fully supported on this platform");
+ assertEqualInt(ARCHIVE_OK, archive_read_free(a));
+ return;
+ }
+ assertEqualIntA(a, ARCHIVE_OK, archive_read_open_memory(a, d, s));
+
+ assertEqualIntA(a, ARCHIVE_OK, archive_read_next_header(a, &ae));
+ assertEqualString("f", archive_entry_pathname(ae));
+ assertEqualInt(ARCHIVE_EOF, archive_read_next_header(a, &ae));
+
+ assertEqualIntA(a, ARCHIVE_OK, archive_read_close(a));
+ assertEqualInt(ARCHIVE_OK, archive_read_free(a));
+}
+
DEFINE_TEST(test_read_format_xar)
{
verify(archive1, sizeof(archive1), verify0, verify1, GZIP);
verifyB(archive13, sizeof(archive13));
}
+DEFINE_TEST(test_read_format_xar_xattr_fstype_cleanup)
+{
+ verify_xattr_fstype_cleanup(archive14_xattr_fstype,
+ sizeof(archive14_xattr_fstype));
+}
+
DEFINE_TEST(test_read_format_xar_duplicate_filename_node)
{
static const char *reffiles[] =