Index: libarchive-3.0.4/libarchive/archive_read_disk_entry_from_file.c =================================================================== --- libarchive-3.0.4.orig/libarchive/archive_read_disk_entry_from_file.c +++ libarchive-3.0.4/libarchive/archive_read_disk_entry_from_file.c @@ -197,7 +197,7 @@ archive_read_disk_entry_from_file(struct fd = open(path, O_RDONLY | O_NONBLOCK); } if (fd >= 0) { - unsigned long stflags; + int stflags; r = ioctl(fd, EXT2_IOC_GETFLAGS, &stflags); if (r == 0 && stflags != 0) archive_entry_set_fflags(entry, stflags, 0); Index: libarchive-3.0.4/libarchive/archive_read_disk_posix.c =================================================================== --- libarchive-3.0.4.orig/libarchive/archive_read_disk_posix.c +++ libarchive-3.0.4/libarchive/archive_read_disk_posix.c @@ -984,7 +984,7 @@ next_entry(struct archive_read_disk *a, #elif defined(EXT2_IOC_GETFLAGS) && defined(EXT2_NODUMP_FL) &&\ defined(HAVE_WORKING_EXT2_IOC_GETFLAGS) if (S_ISREG(st->st_mode) || S_ISDIR(st->st_mode)) { - unsigned long stflags; + int stflags; t->entry_fd = open_on_current_dir(t, tree_current_access_path(t), O_RDONLY | O_NONBLOCK);