summaryrefslogtreecommitdiffstats
path: root/src/libs/3rdparty/libarchive/archive_read_disk_entry_from_file.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/libs/3rdparty/libarchive/archive_read_disk_entry_from_file.c')
-rw-r--r--src/libs/3rdparty/libarchive/archive_read_disk_entry_from_file.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/src/libs/3rdparty/libarchive/archive_read_disk_entry_from_file.c b/src/libs/3rdparty/libarchive/archive_read_disk_entry_from_file.c
index 9c9cf38ee..ab0270bc2 100644
--- a/src/libs/3rdparty/libarchive/archive_read_disk_entry_from_file.c
+++ b/src/libs/3rdparty/libarchive/archive_read_disk_entry_from_file.c
@@ -303,9 +303,11 @@ archive_read_disk_entry_from_file(struct archive *_a,
if (r1 < r)
r = r1;
}
- r1 = setup_sparse(a, entry, &fd);
- if (r1 < r)
- r = r1;
+ if ((a->flags & ARCHIVE_READDISK_NO_SPARSE) == 0) {
+ r1 = setup_sparse(a, entry, &fd);
+ if (r1 < r)
+ r = r1;
+ }
/* If we opened the file earlier in this function, close it. */
if (initial_fd != fd)