[PATCH v4 5/9] ident: fix type of string length parameter
- From
Patrick Steinhardt <ps@pks.im>
- Date
- Aug 4, 2025, 09:46 UTC
- Message-ID
- <20250804-pks-reflog-append-v4-5-13213fef7200@pks.im>
- In-Reply-To
- <20250804-pks-reflog-append-v4-0-13213fef7200@pks.im>
The last parameter in `split_ident_line()` is the length of the line passed in by the caller. As such, most callers pass in either the result of `strlen()`, `struct strbuf::len` or a pointer diff, all of which are expected to be positive numbers. Regardless of that, the function accepts a signed integer, which is somewhat confusing.
Fix the function signature to instead accept a `size_t`.
Signed-off-by: Patrick Steinhardt <ps@pks.im> --- ident.c | 2 +- ident.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/ident.c b/ident.c index 967895d8850..a7a2d132579 100644 --- a/ident.c +++ b/ident.c @@ -272,7 +272,7 @@ static void strbuf_addstr_without_crud(struct strbuf *sb, const char *src) * can still be NULL if the input line only has the name/email part * (e.g. reading from a reflog entry). */ -int split_ident_line(struct ident_split *split, const char *line, int len) +int split_ident_line(struct ident_split *split, const char *line, size_t len) { const char *cp; size_t span; diff --git a/ident.h b/ident.h index 6a79febba15..3c034038791 100644 --- a/ident.h +++ b/ident.h @@ -35,7 +35,7 @@ void reset_ident_date(void); * Signals an success with 0, but time part of the result may be NULL * if the input lacks timestamp and zone */ -int split_ident_line(struct ident_split *, const char *, int); +int split_ident_line(struct ident_split *, const char *, size_t); /* * Given a commit or tag object buffer and the commit or tag headers, replaces
-- 2.50.1.723.g3e08bea96f.dirty