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 |
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 --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);
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(-)