X-Git-Url: https://git.octo.it/?a=blobdiff_plain;f=pack-redundant.c;h=0a43278924edae9d6e3ecdf4bb100bea10faef97;hb=61f693bd5a2ab4d830aad6fce0a1c70863f38009;hp=59375f1b9781b81c8567dd281a3d9385c3bf09a7;hpb=2b6e34c1a3c5d787f478c32a359cfe50cb8114b8;p=git.git diff --git a/pack-redundant.c b/pack-redundant.c index 59375f1b..0a432789 100644 --- a/pack-redundant.c +++ b/pack-redundant.c @@ -15,7 +15,7 @@ static int load_all_packs = 0, verbose = 0, alt_odb = 0; struct llist_item { struct llist_item *next; - char *sha1; + unsigned char *sha1; }; static struct llist { struct llist_item *front; @@ -100,7 +100,8 @@ static struct llist * llist_copy(struct llist *list) } static inline struct llist_item * llist_insert(struct llist *list, - struct llist_item *after, char *sha1) + struct llist_item *after, + unsigned char *sha1) { struct llist_item *new = llist_item_get(); new->sha1 = sha1; @@ -122,13 +123,12 @@ static inline struct llist_item * llist_insert(struct llist *list, return new; } -static inline struct llist_item * llist_insert_back(struct llist *list, char *sha1) +static inline struct llist_item *llist_insert_back(struct llist *list, unsigned char *sha1) { return llist_insert(list, list->back, sha1); } -static inline struct llist_item * llist_insert_sorted_unique(struct llist *list, - char *sha1, struct llist_item *hint) +static inline struct llist_item *llist_insert_sorted_unique(struct llist *list, unsigned char *sha1, struct llist_item *hint) { struct llist_item *prev = NULL, *l; @@ -149,8 +149,7 @@ static inline struct llist_item * llist_insert_sorted_unique(struct llist *list, } /* returns a pointer to an item in front of sha1 */ -static inline struct llist_item * llist_sorted_remove(struct llist *list, char *sha1, - struct llist_item *hint) +static inline struct llist_item * llist_sorted_remove(struct llist *list, const unsigned char *sha1, struct llist_item *hint) { struct llist_item *prev, *l; @@ -218,10 +217,11 @@ static inline size_t pack_list_size(struct pack_list *pl) return ret; } -static struct pack_list * pack_list_difference(struct pack_list *A, - struct pack_list *B) +static struct pack_list * pack_list_difference(const struct pack_list *A, + const struct pack_list *B) { - struct pack_list *ret, *pl; + struct pack_list *ret; + const struct pack_list *pl; if (A == NULL) return NULL; @@ -350,8 +350,7 @@ static int is_superset(struct pack_list *pl, struct llist *list) diff = llist_copy(list); while (pl) { - llist_sorted_difference_inplace(diff, - pl->all_objects); + llist_sorted_difference_inplace(diff, pl->all_objects); if (diff->size == 0) { /* we're done */ llist_free(diff); return 1; @@ -598,7 +597,10 @@ int main(int argc, char **argv) int i; struct pack_list *min, *red, *pl; struct llist *ignore; - char *sha1, buf[42]; /* 40 byte sha1 + \n + \0 */ + unsigned char *sha1; + char buf[42]; /* 40 byte sha1 + \n + \0 */ + + setup_git_directory(); for (i = 1; i < argc; i++) { const char *arg = argv[i]; @@ -685,7 +687,8 @@ int main(int argc, char **argv) pl = pl->next; } if (verbose) - fprintf(stderr, "%luMB of redundant packs in total.\n", pack_set_bytecount(red)/(1024*1024)); + fprintf(stderr, "%luMB of redundant packs in total.\n", + (unsigned long)pack_set_bytecount(red)/(1024*1024)); return 0; }