]> Kevux Git Server - rit/commitdiff
commit-reach: use `size_t` to track indices in `get_reachable_subset()`
authorPatrick Steinhardt <ps@pks.im>
Fri, 27 Dec 2024 10:46:25 +0000 (11:46 +0100)
committerJunio C Hamano <gitster@pobox.com>
Fri, 27 Dec 2024 16:11:45 +0000 (08:11 -0800)
Similar as with the preceding commit, adapt `get_reachable_subset()` so
that it tracks array indices via `size_t` instead of using signed
integers to fix a couple of -Wsign-compare warnings. Adapt callers
accordingly.

Signed-off-by: Patrick Steinhardt <ps@pks.im>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
bisect.c
commit-reach.c
commit-reach.h
commit.c
commit.h
ref-filter.c
remote.c

index 1a9069c..7a1afc4 100644 (file)
--- a/bisect.c
+++ b/bisect.c
@@ -780,10 +780,10 @@ static struct commit *get_commit_reference(struct repository *r,
 }
 
 static struct commit **get_bad_and_good_commits(struct repository *r,
-                                               int *rev_nr)
+                                               size_t *rev_nr)
 {
        struct commit **rev;
-       int i, n = 0;
+       size_t i, n = 0;
 
        ALLOC_ARRAY(rev, 1 + good_revs.nr);
        rev[n++] = get_commit_reference(r, current_bad_oid);
@@ -887,7 +887,7 @@ static enum bisect_error check_merge_bases(int rev_nr, struct commit **rev, int
        return res;
 }
 
-static int check_ancestors(struct repository *r, int rev_nr,
+static int check_ancestors(struct repository *r, size_t rev_nr,
                           struct commit **rev, const char *prefix)
 {
        struct strvec rev_argv = STRVEC_INIT;
@@ -922,7 +922,8 @@ static enum bisect_error check_good_are_ancestors_of_bad(struct repository *r,
 {
        char *filename;
        struct stat st;
-       int fd, rev_nr;
+       int fd;
+       size_t rev_nr;
        enum bisect_error res = BISECT_OK;
        struct commit **rev;
 
index d7f6f1b..bab40f5 100644 (file)
@@ -791,8 +791,8 @@ int can_all_from_reach_with_flag(struct object_array *from,
                                 timestamp_t min_generation)
 {
        struct commit **list = NULL;
-       int i;
-       int nr_commits;
+       size_t i;
+       size_t nr_commits;
        int result = 1;
 
        ALLOC_ARRAY(list, from->nr);
@@ -944,8 +944,8 @@ int can_all_from_reach(struct commit_list *from, struct commit_list *to,
        return result;
 }
 
-struct commit_list *get_reachable_subset(struct commit **from, int nr_from,
-                                        struct commit **to, int nr_to,
+struct commit_list *get_reachable_subset(struct commit **from, size_t nr_from,
+                                        struct commit **to, size_t nr_to,
                                         unsigned int reachable_flag)
 {
        struct commit **item;
index d5f3347..fa54080 100644 (file)
@@ -95,8 +95,8 @@ int can_all_from_reach(struct commit_list *from, struct commit_list *to,
  * This method uses the PARENT1 and PARENT2 flags during its operation,
  * so be sure these flags are not set before calling the method.
  */
-struct commit_list *get_reachable_subset(struct commit **from, int nr_from,
-                                        struct commit **to, int nr_to,
+struct commit_list *get_reachable_subset(struct commit **from, size_t nr_from,
+                                        struct commit **to, size_t nr_to,
                                         unsigned int reachable_flag);
 
 struct ahead_behind_count {
index a127fe6..5406603 100644 (file)
--- a/commit.c
+++ b/commit.c
@@ -778,11 +778,11 @@ static void clear_commit_marks_1(struct commit_list **plist,
        }
 }
 
-void clear_commit_marks_many(int nr, struct commit **commit, unsigned int mark)
+void clear_commit_marks_many(size_t nr, struct commit **commit, unsigned int mark)
 {
        struct commit_list *list = NULL;
 
-       while (nr--) {
+       for (size_t i = 0; i < nr; i++) {
                clear_commit_marks_1(&list, *commit, mark);
                commit++;
        }
index 943e3d7..70c870d 100644 (file)
--- a/commit.h
+++ b/commit.h
@@ -210,7 +210,7 @@ struct commit *pop_most_recent_commit(struct commit_list **list,
 struct commit *pop_commit(struct commit_list **stack);
 
 void clear_commit_marks(struct commit *commit, unsigned int mark);
-void clear_commit_marks_many(int nr, struct commit **commit, unsigned int mark);
+void clear_commit_marks_many(size_t nr, struct commit **commit, unsigned int mark);
 
 
 enum rev_sort_order {
index 2305469..bf55346 100644 (file)
@@ -3041,7 +3041,7 @@ static void reach_filter(struct ref_array *array,
                         struct commit_list **check_reachable,
                         int include_reached)
 {
-       int i, old_nr;
+       size_t i, old_nr;
        struct commit **to_clear;
 
        if (!*check_reachable)
index 18e5ccf..0f6fba8 100644 (file)
--- a/remote.c
+++ b/remote.c
@@ -1535,7 +1535,7 @@ static struct ref **tail_ref(struct ref **head)
 
 struct tips {
        struct commit **tip;
-       int nr, alloc;
+       size_t nr, alloc;
 };
 
 static void add_to_tips(struct tips *tips, const struct object_id *oid)
@@ -1602,7 +1602,7 @@ static void add_missing_tags(struct ref *src, struct ref **dst, struct ref ***ds
                const int reachable_flag = 1;
                struct commit_list *found_commits;
                struct commit **src_commits;
-               int nr_src_commits = 0, alloc_src_commits = 16;
+               size_t nr_src_commits = 0, alloc_src_commits = 16;
                ALLOC_ARRAY(src_commits, alloc_src_commits);
 
                for_each_string_list_item(item, &src_tag) {