threads / patch / 62944

patch[GSOC] Use unsigned type for bit flags in commit-reach.c

Subject: [PATCH 0/1] [GSOC] Use unsigned type for bit flags in commit-reach.c

## tl;dr

3 messages between Feb 12, 2025 and Feb 12, 2025. Diffs are folded; open one to read it.

replies: 2people: 2as markdown or json

Moumita· Feb 12, 2025, 19:28 UTC · lore
The `flags` variable  holds multiple bitwise flags (PARENT1, PARENT2, STALE),these flags are defined using (1u << N), so maybe there will be no issues if it is changed from `int` to `unsigned int`
Moumita (1):
  commit-reach: use unsigned int for flags in paint_down_to_common()
 commit-reach.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
-- 
2.48.0
Moumita· Feb 12, 2025, 19:28 UTC · re: Moumita · lore

[PATCH 1/1] commit-reach: use unsigned int for flags in paint_down_to_common()

The `flags` variable in `paint_down_to_common()` stores bitwise flags (PARENT1, PARENT2, and STALE), which are defined as `(1u << N)`. Since these are already unsigned values,`flags` can also be declared as `unsigned int` instead of `int`.

Signed-off-by: Moumita <dhar61595@gmail.com>
---
 commit-reach.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
Show changes to commit-reach.c +1 −1
diff --git a/commit-reach.c b/commit-reach.c
index a339e41aa4..a4aaae2737 100644
--- a/commit-reach.c
+++ b/commit-reach.c
@@ -79,7 +79,7 @@ static int paint_down_to_common(struct repository *r,
 	while (queue_has_nonstale(&queue)) {
 		struct commit *commit = prio_queue_get(&queue);
 		struct commit_list *parents;
-		int flags;
+		unsigned int flags;
 		timestamp_t generation = commit_graph_generation(commit);
 
 		if (min_generation && generation > last_gen)
-- 
2.48.0
Junio C Hamano· Feb 12, 2025, 21:16 UTC · re: Moumita · lore

Re: [PATCH 0/1] [GSOC] Use unsigned type for bit flags in commit-reach.c

Moumita <dhar61595@gmail.com> writes:
> The `flags` variable holds multiple bitwise flags (PARENT1,
> PARENT2, STALE),these flags are defined using (1u << N), so maybe
> there will be no issues if it is changed from `int` to `unsigned
> int`

"This change will not break" is not a good reason to make the change, though, as not making that change will not break anything, either.

If you need to write something, say something that positively justifies the change, explaining readers why it is a good thing to do, and how the resulting code is _better_ than the original.

Thanks.

← back to recent threads