ident: fix type of string length parameter

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>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
next
Patrick Steinhardt 2025-08-06 07:54:16 +02:00 committed by Junio C Hamano
parent 7aa619c36f
commit 9fdbba862d
2 changed files with 2 additions and 2 deletions

View File

@ -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;

View File

@ -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