commit: remove find_header_mem()

cfc5cf428b (receive-pack.c: consolidate find header logic, 2022-01-06)
introduced find_header_mem() and turned find_commit_header() into a thin
wrapper.  Since then, the latter has become the last remaining caller of
the former.  Remove it to restore find_commit_header() to the state
before cfc5cf428b, get rid of a strlen(3) call and resolve a NEEDSWORK
note in the process.

Signed-off-by: René Scharfe <l.s.r@web.de>
Acked-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
René Scharfe 2024-06-19 19:13:19 +02:00 committed by Junio C Hamano
parent 020456cb74
commit 28dc26dc33
2 changed files with 2 additions and 19 deletions

View file

@ -1737,20 +1737,12 @@ struct commit_list **commit_list_append(struct commit *commit,
return &new_commit->next;
}
const char *find_header_mem(const char *msg, size_t len,
const char *key, size_t *out_len)
const char *find_commit_header(const char *msg, const char *key, size_t *out_len)
{
int key_len = strlen(key);
const char *line = msg;
/*
* NEEDSWORK: It's possible for strchrnul() to scan beyond the range
* given by len. However, current callers are safe because they compute
* len by scanning a NUL-terminated block of memory starting at msg.
* Nonetheless, it would be better to ensure the function does not look
* at msg beyond the len provided by the caller.
*/
while (line && line < msg + len) {
while (line) {
const char *eol = strchrnul(line, '\n');
if (line == eol)
@ -1767,10 +1759,6 @@ const char *find_header_mem(const char *msg, size_t len,
return NULL;
}
const char *find_commit_header(const char *msg, const char *key, size_t *out_len)
{
return find_header_mem(msg, strlen(msg), key, out_len);
}
/*
* Inspect the given string and determine the true "end" of the log message, in
* order to find where to put a new Signed-off-by trailer. Ignored are

View file

@ -280,17 +280,12 @@ void free_commit_extra_headers(struct commit_extra_header *extra);
/*
* Search the commit object contents given by "msg" for the header "key".
* Reads up to "len" bytes of "msg".
* Returns a pointer to the start of the header contents, or NULL. The length
* of the header, up to the first newline, is returned via out_len.
*
* Note that some headers (like mergetag) may be multi-line. It is the caller's
* responsibility to parse further in this case!
*/
const char *find_header_mem(const char *msg, size_t len,
const char *key,
size_t *out_len);
const char *find_commit_header(const char *msg, const char *key,
size_t *out_len);