]> git.ipfire.org Git - thirdparty/libarchive.git/commitdiff
Fix test_read_format_cpio_afio failure on the some platform,
authorMichihiro NAKAJIMA <ggcueroad@gmail.com>
Fri, 5 Feb 2010 04:48:23 +0000 (23:48 -0500)
committerMichihiro NAKAJIMA <ggcueroad@gmail.com>
Fri, 5 Feb 2010 04:48:23 +0000 (23:48 -0500)
on which the size of uid_t is too small to set a over 65535 value.
But this fix will be removed when we use int64_t for uid.

SVN-Revision: 1871

libarchive/test/test_read_format_cpio_afio.c

index 71748e01beae7222f69c46140cb09375259521ac..0d7b79a23a5a0a835ca9b391b575f551c7794634 100644 (file)
@@ -66,6 +66,15 @@ static unsigned char archive[] = {
 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
 };
 
+/*
+ * XXX This must be removed when we use int64_t for uid.
+ */
+static int
+uid_size(void)
+{
+       return (sizeof(uid_t));
+}
+
 DEFINE_TEST(test_read_format_cpio_afio)
 {
        unsigned char *p;
@@ -95,7 +104,8 @@ DEFINE_TEST(test_read_format_cpio_afio)
         */
        assertEqualIntA(a, ARCHIVE_OK, archive_read_next_header(a, &ae));
        assertEqualInt(17, archive_entry_size(ae));
-       assertEqualInt(65536, archive_entry_uid(ae));
+       if (uid_size() > 4)
+               assertEqualInt(65536, archive_entry_uid(ae));
        assertA(archive_compression(a) == ARCHIVE_COMPRESSION_NONE);
        assertA(archive_format(a) == ARCHIVE_FORMAT_CPIO_AFIO_LARGE);
        assertEqualInt(ARCHIVE_OK, archive_read_close(a));