summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPatrick Steinhardt <ps@pks.im>2025-08-06 07:54:16 +0200
committerJunio C Hamano <gitster@pobox.com>2025-08-06 07:36:30 -0700
commit9fdbba862dfa53cf347fd9f05e99bd1f13c5eb0c (patch)
treebf2ed2179c6d5d123d1d30c3fd9feb37e6efea6e
parent7aa619c36f4d6ba5710f7273739655914e65d9c5 (diff)
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>
-rw-r--r--ident.c2
-rw-r--r--ident.h2
2 files changed, 2 insertions, 2 deletions
diff --git a/ident.c b/ident.c
index 967895d885..a7a2d13257 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 6a79febba1..3c03403879 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