diff options
author | Tim Kientzle <kientzle@gmail.com> | 2011-11-20 19:52:32 -0500 |
---|---|---|
committer | Tim Kientzle <kientzle@gmail.com> | 2011-11-20 19:52:32 -0500 |
commit | bb44a73ac7ea4f0efee36ad41b2a3ec6e43ea512 (patch) | |
tree | 33f8745979cce92e392fa564fbf577fe5136f6b5 /libarchive/archive_read_support_format_cpio.c | |
parent | 799f4d1756c1ccb5656d037f1ebd5e6ed37c0ead (diff) | |
download | libarchive-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.c | 6 |
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) |