summaryrefslogtreecommitdiff
path: root/libarchive/archive_read_private.h
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_private.h
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_private.h')
-rw-r--r--libarchive/archive_read_private.h4
1 files changed, 2 insertions, 2 deletions
diff --git a/libarchive/archive_read_private.h b/libarchive/archive_read_private.h
index 5fbb07d3..76d0b91d 100644
--- a/libarchive/archive_read_private.h
+++ b/libarchive/archive_read_private.h
@@ -169,7 +169,7 @@ struct archive_read {
struct archive_format_descriptor {
void *data;
const char *name;
- int (*bid)(struct archive_read *);
+ int (*bid)(struct archive_read *, int best_bid);
int (*options)(struct archive_read *, const char *key,
const char *value);
int (*read_header)(struct archive_read *, struct archive_entry *);
@@ -189,7 +189,7 @@ struct archive_read {
int __archive_read_register_format(struct archive_read *a,
void *format_data,
const char *name,
- int (*bid)(struct archive_read *),
+ int (*bid)(struct archive_read *, int),
int (*options)(struct archive_read *, const char *, const char *),
int (*read_header)(struct archive_read *, struct archive_entry *),
int (*read_data)(struct archive_read *, const void **, size_t *, int64_t *),