summaryrefslogtreecommitdiff
path: root/libarchive/archive_read_support_format_cpio.c
diff options
context:
space:
mode:
authorTim Kientzle <kientzle@gmail.com>2011-11-20 19:52:32 -0500
committerTim Kientzle <kientzle@gmail.com>2011-11-20 19:52:32 -0500
commitbb44a73ac7ea4f0efee36ad41b2a3ec6e43ea512 (patch)
tree33f8745979cce92e392fa564fbf577fe5136f6b5 /libarchive/archive_read_support_format_cpio.c
parent799f4d1756c1ccb5656d037f1ebd5e6ed37c0ead (diff)
downloadlibarchive-bb44a73ac7ea4f0efee36ad41b2a3ec6e43ea512.tar.gz
Try to decrease the performance hit of seeking during the bid phase.
Tell each bidder about the best bid so far so it can decide to do nothing. Reorder support_format_all so formats with relatively inexpensive bidders will run first. SVN-Revision: 3822
Diffstat (limited to 'libarchive/archive_read_support_format_cpio.c')
-rw-r--r--libarchive/archive_read_support_format_cpio.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/libarchive/archive_read_support_format_cpio.c b/libarchive/archive_read_support_format_cpio.c
index e30a0b48..5ae73d77 100644
--- a/libarchive/archive_read_support_format_cpio.c
+++ b/libarchive/archive_read_support_format_cpio.c
@@ -189,7 +189,7 @@ struct cpio {
static int64_t atol16(const char *, unsigned);
static int64_t atol8(const char *, unsigned);
-static int archive_read_format_cpio_bid(struct archive_read *);
+static int archive_read_format_cpio_bid(struct archive_read *, int);
static int archive_read_format_cpio_options(struct archive_read *,
const char *, const char *);
static int archive_read_format_cpio_cleanup(struct archive_read *);
@@ -251,12 +251,14 @@ archive_read_support_format_cpio(struct archive *_a)
static int
-archive_read_format_cpio_bid(struct archive_read *a)
+archive_read_format_cpio_bid(struct archive_read *a, int best_bid)
{
const unsigned char *p;
struct cpio *cpio;
int bid;
+ (void)best_bid; /* UNUSED */
+
cpio = (struct cpio *)(a->format->data);
if ((p = __archive_read_ahead(a, 6, NULL)) == NULL)