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

[PATCH] userdiff: allow * between cpp funcname words

From
Thomas Rast <trast@student.ethz.ch>
Date
Dec 6, 2011, 16:35 UTC
Message-ID
<a639d328e15bce3057de9238ee31097d15850de1.1323189110.git.trast@student.ethz.ch>

The cpp pattern, used for C and C++, would not match the start of a declaration such as

  static char *prepare_index(int argc,

because it did not allow for * anywhere between the various words that constitute the modifiers, type and function name. Fix it.

Signed-off-by: Thomas Rast <trast@student.ethz.ch>
---

This is a really sneaky one-character bug that I cannot believe went unnoticed for so long, seeing as there are plenty of instances within git itself where it matters.

 userdiff.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/userdiff.c b/userdiff.c
index 7c983c1..76109da 100644
--- a/userdiff.c
+++ b/userdiff.c
@@ -118,7 +118,7 @@
 	 /* Jump targets or access declarations */
 	 "!^[ \t]*[A-Za-z_][A-Za-z_0-9]*:.*$\n"
 	 /* C/++ functions/methods at top level */
-	 "^([A-Za-z_][A-Za-z_0-9]*([ \t]+[A-Za-z_][A-Za-z_0-9]*([ \t]*::[ \t]*[^[:space:]]+)?){1,}[ \t]*\\([^;]*)$\n"
+	 "^([A-Za-z_][A-Za-z_0-9]*([ \t*]+[A-Za-z_][A-Za-z_0-9]*([ \t]*::[ \t]*[^[:space:]]+)?){1,}[ \t]*\\([^;]*)$\n"
 	 /* compound type at top level */
 	 "^((struct|class|enum)[^;]*)$",
 	 /* -- */
-- 
1.7.8.424.gcb840
Next: Jeff King
Message 1 of 9 in “userdiff: allow * between cpp funcname words”
  1. userdiff: allow * between cpp funcname wordsThomas Rast, Dec 6, 2011
  2. Jeff KingDec 6, 2011
  3. Thomas RastDec 6, 2011
  4. Jeff KingDec 6, 2011
  5. Johannes SixtDec 6, 2011
  6. René ScharfeDec 6, 2011
  7. Junio C HamanoDec 6, 2011
  8. Thomas RastDec 7, 2011
  9. Johannes SixtDec 7, 2011

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.