write_idx_file: introduce a struct to hold idx customization options

Remove two globals, pack_idx_default version and pack_idx_off32_limit,
and place them in a pack_idx_option structure.  Allow callers to pass
it to write_idx_file() as a parameter.

Adjust all callers to the API change.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Junio C Hamano
2011-02-25 15:43:25 -08:00
parent 7218a215ef
commit ebcfb3791a
5 changed files with 48 additions and 33 deletions

11
pack.h
View File

@ -34,9 +34,12 @@ struct pack_header {
*/
#define PACK_IDX_SIGNATURE 0xff744f63 /* "\377tOc" */
/* These may be overridden by command-line parameters */
extern uint32_t pack_idx_default_version;
extern uint32_t pack_idx_off32_limit;
struct pack_idx_option {
uint32_t version;
uint32_t off32_limit;
};
extern void reset_pack_idx_option(struct pack_idx_option *);
/*
* Packed object index header
@ -55,7 +58,7 @@ struct pack_idx_entry {
off_t offset;
};
extern const char *write_idx_file(const char *index_name, struct pack_idx_entry **objects, int nr_objects, unsigned char *sha1);
extern const char *write_idx_file(const char *index_name, struct pack_idx_entry **objects, int nr_objects, const struct pack_idx_option *, unsigned char *sha1);
extern int check_pack_crc(struct packed_git *p, struct pack_window **w_curs, off_t offset, off_t len, unsigned int nr);
extern int verify_pack_index(struct packed_git *);
extern int verify_pack(struct packed_git *);