git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[PATCH 7/7] blame: use find_commit_subject() instead of custom code

From
Christian Couder <chriscool@tuxfamily.org>
Date
Jul 22, 2010, 13:18 UTC
Message-ID
<20100722131836.2148.2717.chriscool@tuxfamily.org>
In-Reply-To
<20100722131141.2148.63850.chriscool@tuxfamily.org>
Signed-off-by: Christian Couder <chriscool@tuxfamily.org>
---
 builtin/blame.c |   22 +++++++---------------
 1 files changed, 7 insertions(+), 15 deletions(-)
diff --git a/builtin/blame.c b/builtin/blame.c
index 01e62fd..437b1a4 100644
--- a/builtin/blame.c
+++ b/builtin/blame.c
@@ -1407,7 +1407,8 @@ static void get_commit_info(struct commit *commit,
 			    int detailed)
 {
 	int len;
-	char *tmp, *endp, *reencoded, *message;
+	const char *subject;
+	char *reencoded, *message;
 	static char author_name[1024];
 	static char author_mail[1024];
 	static char committer_name[1024];
@@ -1449,22 +1450,13 @@ static void get_commit_info(struct commit *commit,
 		    &ret->committer_time, &ret->committer_tz);
 
 	ret->summary = summary_buf;
-	tmp = strstr(message, "\n\n");
-	if (!tmp) {
-	error_out:
+	len = find_commit_subject(message, &subject);
+	if (len && len < sizeof(summary_buf)) {
+		memcpy(summary_buf, subject, len);
+		summary_buf[len] = 0;
+	} else {
 		sprintf(summary_buf, "(%s)", sha1_to_hex(commit->object.sha1));
-		free(reencoded);
-		return;
 	}
-	tmp += 2;
-	endp = strchr(tmp, '\n');
-	if (!endp)
-		endp = tmp + strlen(tmp);
-	len = endp - tmp;
-	if (len >= sizeof(summary_buf) || len == 0)
-		goto error_out;
-	memcpy(summary_buf, tmp, len);
-	summary_buf[len] = 0;
 	free(reencoded);
 }
 
-- 
1.7.2.rc3.267.g400b3
Previous: Christian CouderNext: Junio C Hamano
Message 11 of 12 in “find commit subject refactoring”
  1. 0/7 find commit subject refactoringChristian Couder, Jul 22, 2010
  2. 1/7 revert: fix off by one read when searching the end of a commit subjectChristian Couder, Jul 22, 2010
  3. Jonathan NiederJul 22, 2010
  4. 2/7 revert: refactor code to find commit subject in find_commit_subject()Christian Couder, Jul 22, 2010
  5. Peter BaumannJul 22, 2010
  6. Christian CouderJul 23, 2010
  7. 3/7 revert: rename subject related variables in get_message()Christian Couder, Jul 22, 2010
  8. 4/7 commit: move find_commit_subject() into commit.{h,c}Christian Couder, Jul 22, 2010
  9. 5/7 bisect: use find_commit_subject() instead of custom codeChristian Couder, Jul 22, 2010
  10. 6/7 merge-recursive: use find_commit_subject() instead of custom codeChristian Couder, Jul 22, 2010
  11. 7/7 blame: use find_commit_subject() instead of custom codeChristian Couder, Jul 22, 2010
  12. Junio C HamanoJul 22, 2010

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.