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

[PATCH] Use strchrnul() instead of strchr() plus manual workaround

From
Johan Herland <johan@herland.net>
Date
Sep 27, 2008, 22:24 UTC
Message-ID
<200809280024.36190.johan@herland.net>
In-Reply-To
<20080928070858.6117@nanako3.lavabit.com>
Also gets rid of a C++ comment.
Signed-off-by: Johan Herland <johan@herland.net>
---
On Sunday 28 September 2008, Nanako Shiraishi wrote:
> Why does this C++ style comment talk about "simulate"?
>
> Don't other parts of git already use strchrnul()?

Oops. Sorry about that. The man page for strchrnul() says that it is a GNU extension, so I stayed away from it. Of course, I should have grepped the git source instead...

This should fix it.
...Johan
 builtin-for-each-ref.c |    4 +---
 1 files changed, 1 insertions(+), 3 deletions(-)
diff --git a/builtin-for-each-ref.c b/builtin-for-each-ref.c
index e59bd80..fa6c1ed 100644
--- a/builtin-for-each-ref.c
+++ b/builtin-for-each-ref.c
@@ -320,9 +320,7 @@ static const char *find_wholine(const char *who, int wholen, const char *buf, un
 
 static const char *copy_line(const char *buf)
 {
-	const char *eol = strchr(buf, '\n');
-	if (!eol) // simulate strchrnul()
-		eol = buf + strlen(buf);
+	const char *eol = strchrnul(buf, '\n');
 	return xmemdupz(buf, eol - buf);
 }
 
-- 
1.6.0.2.471.g47a76
Previous: Nanako Shiraishi
Message 2 of 2 in “Re: [PATCH] for-each-ref: Fix --format=%(subject) for log message without newlines”
  1. Nanako ShiraishiSep 27, 2008
  2. Use strchrnul() instead of strchr() plus manual workaroundJohan Herland, Sep 27, 2008

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.