threads / patch / 15691

patchRe: [PATCH] for-each-ref: Fix --format=%(subject) for log message without newlines

Subject: Re: [PATCH] for-each-ref: Fix --format=%(subject) for log message without newlines

## tl;dr

2 messages between Sep 27, 2008 and Sep 27, 2008. Diffs are folded; open one to read it.

replies: 1people: 2as markdown or json

Nanako Shiraishi· Sep 27, 2008, 22:08 UTC · lore
Johan Herland <johan@herland.net> writes:
Show 17 quoted lines
>  builtin-for-each-ref.c |    4 ++--
>  1 files changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/builtin-for-each-ref.c b/builtin-for-each-ref.c
> index 9b44092..e59bd80 100644
> --- a/builtin-for-each-ref.c
> +++ b/builtin-for-each-ref.c
> @@ -321,8 +321,8 @@ 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)
> -		return "";
> +	if (!eol) // simulate strchrnul()
> +		eol = buf + strlen(buf);
>  	return xmemdupz(buf, eol - buf);
>  }
Why does this C++ style comment talk about "simulate"?
Don't other parts of git already use strchrnul()?
-- 
Nanako Shiraishi
http://ivory.ap.teacup.com/nanako3/
Johan Herland· Sep 27, 2008, 22:24 UTC · re: Nanako Shiraishi · lore

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

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(-)
Show changes to builtin-for-each-ref.c +1 −3
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

← back to recent threads