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

Re: [PATCH] Rewrite git-compat-util.h:skip_prefix() as a loop

From
Jeff King <peff@peff.net>
Date
Feb 28, 2014, 06:17 UTC
Message-ID
<20140228061725.GD32556@sigill.intra.peff.net>
In-Reply-To
<87k3cg47o6.fsf@fencepost.gnu.org>
On Thu, Feb 27, 2014 at 09:33:45PM +0100, David Kastrup wrote:
Show 18 quoted lines
> >> diff --git a/git-compat-util.h b/git-compat-util.h
> >> index cbd86c3..4daa6cf 100644
> >> --- a/git-compat-util.h
> >> +++ b/git-compat-util.h
> >> @@ -357,8 +357,8 @@ extern int suffixcmp(const char *str, const char *suffix);
> >>  
> >>  static inline const char *skip_prefix(const char *str, const char *prefix)
> >>  {
> >> -	size_t len = strlen(prefix);
> >> -	return strncmp(str, prefix, len) ? NULL : str + len;
> >> +    while( *prefix != '\0' && *str++ == *prefix++ );
> >> +    return *prefix == '\0' ? str : NULL;
> >
> > Documentation/CodingGuidelines?
> 
> Mostly relevant for tabification here, not helping much otherwise.  In
> particular, does not contain the advice "empty statements should appear
> on a line of their own" which would help with readability here.

Also whitespace in the "while", which I could not find mentioned in CodingGuidelines either. Maybe:

-- >8 --
Subject: [PATCH] CodingGuidelines: mention C whitespace rules

We are fairly consistent about these, so most are covered by "follow existing style", but it doesn't hurt to be explicit.

Signed-off-by: Jeff King <peff@peff.net>
---
 Documentation/CodingGuidelines | 11 +++++++++++
 1 file changed, 11 insertions(+)
diff --git a/Documentation/CodingGuidelines b/Documentation/CodingGuidelines
index ef67b53..ed432a8 100644
--- a/Documentation/CodingGuidelines
+++ b/Documentation/CodingGuidelines
@@ -126,6 +126,17 @@ For C programs:
    "char * string".  This makes it easier to understand code
    like "char *string, c;".
 
+ - Use whitespace around operators and keywords, but not inside
+   parentheses and not around functions. So:
+
+        while (condition)
+		func(bar + 1);
+
+   and not:
+
+        while( condition )
+		func (bar+1);
+
  - We avoid using braces unnecessarily.  I.e.
 
 	if (bla) {
-- 
1.8.5.2.500.g8060133
Previous: Junio C Hamano
Message 5 of 5 in “Rewrite git-compat-util.h:skip_prefix() as a loop”
  1. Rewrite git-compat-util.h:skip_prefix() as a loopSun He, Feb 27, 2014
  2. Junio C HamanoFeb 27, 2014
  3. David KastrupFeb 27, 2014
  4. Junio C HamanoFeb 27, 2014
  5. Jeff KingFeb 28, 2014

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.