[PATCH v2] bulk-checkin: fix sign compare warnings
From: Tuomas Ahola <hidden>
Date: 2025-03-21 22:14:13
Subsystem:
the rest · Maintainer:
Linus Torvalds
In file bulk-checkin.c, three warnings are emitted by
"-Wsign-compare", two of which are caused by trivial loop iterator
type mismatches. The third one is also an uncomplicated case for
which a simple cast is a safe and sufficient action as the variable in
question only holds positive values (from sizeof() expression).
Fix issues accordingly, and enable sign compare warnings for the file.
Signed-off-by: Tuomas Ahola <redacted>
---
Intervall-diff mot v1:
1: 25b56dae76 ! 1: 289f3a0278 bulk-checkin: fix sign compare warnings
@@ Commit message
In file bulk-checkin.c, three warnings are emitted by
"-Wsign-compare", two of which are caused by trivial loop iterator
type mismatches. The third one is also an uncomplicated case for
- which a simple cast is a sufficient remedy.
+ which a simple cast is a safe and sufficient action as the variable in
+ question only holds positive values (from sizeof() expression).
Fix issues accordingly, and enable sign compare warnings for the file.
bulk-checkin.c | 10 +++-------
1 file changed, 3 insertions(+), 7 deletions(-)
diff --git a/bulk-checkin.c b/bulk-checkin.c
index 20f2da67b9..0133427132 100644
--- a/bulk-checkin.c
+++ b/bulk-checkin.c@@ -3,7 +3,6 @@ */ #define USE_THE_REPOSITORY_VARIABLE -#define DISABLE_SIGN_COMPARE_WARNINGS #include "git-compat-util.h" #include "bulk-checkin.h"
@@ -56,7 +55,6 @@ static void flush_bulk_checkin_packfile(struct bulk_checkin_packfile *state) { unsigned char hash[GIT_MAX_RAWSZ]; struct strbuf packname = STRBUF_INIT; - int i; if (!state->f) return;
@@ -82,7 +80,7 @@ static void flush_bulk_checkin_packfile(struct bulk_checkin_packfile *state) finish_tmp_packfile(&packname, state->pack_tmp_name, state->written, state->nr_written, &state->pack_idx_opts, hash); - for (i = 0; i < state->nr_written; i++) + for (uint32_t i = 0; i < state->nr_written; i++) free(state->written[i]); clear_exit:
@@ -131,14 +129,12 @@ static void flush_batch_fsync(void) static int already_written(struct bulk_checkin_packfile *state, struct object_id *oid) { - int i; - /* The object may already exist in the repository */ if (repo_has_object_file(the_repository, oid)) return 1; /* Might want to keep the list sorted */ - for (i = 0; i < state->nr_written; i++) + for (uint32_t i = 0; i < state->nr_written; i++) if (oideq(&state->written[i]->oid, oid)) return 1;
@@ -192,7 +188,7 @@ static int stream_blob_to_pack(struct bulk_checkin_packfile *state, offset += rsize; if (*already_hashed_to < offset) { size_t hsize = offset - *already_hashed_to; - if (rsize < hsize) + if ((size_t)rsize < hsize) hsize = rsize; if (hsize) git_hash_update(ctx, ibuf, hsize);
base-commit: 683c54c999c301c2cd6f715c411407c413b1d84e -- 2.30.2