diff mbox series

[1/2] refs: adapt `initial_transaction` flag to be unsigned

Message ID 20241125-pks-refs-migration-optimization-followup-v1-1-0e1b4a2af384@pks.im (mailing list archive)
State Accepted
Commit 0f5762b0435234c4dc916f4b3672c78c1b24f0e2
Headers show
Series refs: stylistic improvements to ref migration optimization | expand

Commit Message

Patrick Steinhardt Nov. 25, 2024, 7:34 a.m. UTC
The `initial_transaction` flag is tracked as a signed integer, but we
typically pass around flags via unsigned integers. Adapt the type
accordingly.

Suggested-by: Christian Couder <christian.couder@gmail.com>
Signed-off-by: Patrick Steinhardt <ps@pks.im>
---
 refs.c | 2 +-
 refs.h | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

Comments

Junio C Hamano Nov. 26, 2024, 8:22 a.m. UTC | #1
Patrick Steinhardt <ps@pks.im> writes:

> The `initial_transaction` flag is tracked as a signed integer, but we
> typically pass around flags via unsigned integers. Adapt the type
> accordingly.

It would not matter while the information in the variable is 1 bit
and the check is "is the whole variable 0?", which is what the
current code does on this parameter.  But when we'd start using the
parameter as a flag word to stuff more bits, this starts to matter.

Good future-proofing.  Thanks.
diff mbox series

Patch

diff --git a/refs.c b/refs.c
index 65eea3eb7734d03f09a22e8edfe5074d532398ff..ee870817466b7d6d6a6619ce0baffe17f3d5a39f 100644
--- a/refs.c
+++ b/refs.c
@@ -2325,7 +2325,7 @@  int refs_verify_refname_available(struct ref_store *refs,
 				  const char *refname,
 				  const struct string_list *extras,
 				  const struct string_list *skip,
-				  int initial_transaction,
+				  unsigned int initial_transaction,
 				  struct strbuf *err)
 {
 	const char *slash;
diff --git a/refs.h b/refs.h
index 980bd20cf24e15144aeff991eeba8b27a936d386..95baf194ba9493f4e8f1f70924f0eb713e5bbd49 100644
--- a/refs.h
+++ b/refs.h
@@ -110,7 +110,7 @@  int refs_verify_refname_available(struct ref_store *refs,
 				  const char *refname,
 				  const struct string_list *extras,
 				  const struct string_list *skip,
-				  int initial_transaction,
+				  unsigned int initial_transaction,
 				  struct strbuf *err);
 
 int refs_ref_exists(struct ref_store *refs, const char *refname);