In this file the "list size" variable was named in a non-standard way. The new API forces to use a more common convention. Signed-off-by: Yann Dirson <ydirson@xxxxxxxxxx> --- builtin/pack-objects.c | 51 ++++++++++++++--------------------------------- 1 files changed, 15 insertions(+), 36 deletions(-) diff --git a/builtin/pack-objects.c b/builtin/pack-objects.c index f8eba53..c4af9f7 100644 --- a/builtin/pack-objects.c +++ b/builtin/pack-objects.c @@ -16,6 +16,7 @@ #include "list-objects.h" #include "progress.h" #include "refs.h" +#include "sorted-array.h" #ifndef NO_PTHREADS #include <pthread.h> @@ -871,45 +872,23 @@ static void add_pbase_object(struct tree_desc *tree, } } -static unsigned *done_pbase_paths; -static int done_pbase_paths_num; -static int done_pbase_paths_alloc; -static int done_pbase_path_pos(unsigned hash) +static int unsigned_cmp(unsigned ref, unsigned *elem) { - int lo = 0; - int hi = done_pbase_paths_num; - while (lo < hi) { - int mi = (hi + lo) / 2; - if (done_pbase_paths[mi] == hash) - return mi; - if (done_pbase_paths[mi] < hash) - hi = mi; - else - lo = mi + 1; - } - return -lo-1; + if (ref == *elem) + return 0; + if (ref < *elem) + return -1; + return 1; } - -static int check_pbase_path(unsigned hash) +static void unsigned_init(unsigned *elem, unsigned ref) { - int pos = (!done_pbase_paths) ? -1 : done_pbase_path_pos(hash); - if (0 <= pos) - return 1; - pos = -pos - 1; - if (done_pbase_paths_alloc <= done_pbase_paths_num) { - done_pbase_paths_alloc = alloc_nr(done_pbase_paths_alloc); - done_pbase_paths = xrealloc(done_pbase_paths, - done_pbase_paths_alloc * - sizeof(unsigned)); - } - done_pbase_paths_num++; - if (pos < done_pbase_paths_num) - memmove(done_pbase_paths + pos + 1, - done_pbase_paths + pos, - (done_pbase_paths_num - pos - 1) * sizeof(unsigned)); - done_pbase_paths[pos] = hash; - return 0; + *elem = ref; } +declare_sorted_array(static, unsigned, done_pbase_paths); +declare_gen_binsearch(static, unsigned, done_pbase_path_pos, unsigned); +declare_gen_sorted_insert(static, unsigned, _check_pbase_path, done_pbase_path_pos, unsigned); +declare_sorted_array_insert_checkbool(static, check_pbase_path, unsigned, _check_pbase_path, + done_pbase_paths, unsigned_cmp, unsigned_init); static void add_preferred_base_object(const char *name) { @@ -987,7 +966,7 @@ static void cleanup_preferred_base(void) free(done_pbase_paths); done_pbase_paths = NULL; - done_pbase_paths_num = done_pbase_paths_alloc = 0; + done_pbase_paths_nr = done_pbase_paths_alloc = 0; } static void check_object(struct object_entry *entry) -- 1.7.2.3 -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html