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

[PATCH 2/3] tree-walk: simplify via strnncmp()

From
Jeremiah Mahler <jmmahler@gmail.com>
Date
Jun 16, 2014, 19:13 UTC
Message-ID
<571d131f6ebeadb33999fe086656cb642710fb6f.1402945507.git.jmmahler@gmail.com>
In-Reply-To
<cover.1402945507.git.jmmahler@gmail.com>

Simplify tree-walk.c using the strnncmp() function and remove the name_compare() function.

Signed-off-by: Jeremiah Mahler <jmmahler@gmail.com>
---
 tree-walk.c | 16 +++-------------
 1 file changed, 3 insertions(+), 13 deletions(-)
diff --git a/tree-walk.c b/tree-walk.c
index 4dc86c7..efbd3b7 100644
--- a/tree-walk.c
+++ b/tree-walk.c
@@ -144,16 +144,6 @@ struct tree_desc_x {
 	struct tree_desc_skip *skip;
 };
 
-static int name_compare(const char *a, int a_len,
-			const char *b, int b_len)
-{
-	int len = (a_len < b_len) ? a_len : b_len;
-	int cmp = memcmp(a, b, len);
-	if (cmp)
-		return cmp;
-	return (a_len - b_len);
-}
-
 static int check_entry_match(const char *a, int a_len, const char *b, int b_len)
 {
 	/*
@@ -174,7 +164,7 @@ static int check_entry_match(const char *a, int a_len, const char *b, int b_len)
 	 * scanning further.
 	 */
 
-	int cmp = name_compare(a, a_len, b, b_len);
+	int cmp = strnncmp(a, a_len, b, b_len);
 
 	/* Most common case first -- reading sync'd trees */
 	if (!cmp)
@@ -369,7 +359,7 @@ int traverse_trees(int n, struct tree_desc *t, struct traverse_info *info)
 				first_len = len;
 				continue;
 			}
-			if (name_compare(e->path, len, first, first_len) < 0) {
+			if (strnncmp(e->path, len, first, first_len) < 0) {
 				first = e->path;
 				first_len = len;
 			}
@@ -383,7 +373,7 @@ int traverse_trees(int n, struct tree_desc *t, struct traverse_info *info)
 				if (!e->path)
 					continue;
 				len = tree_entry_len(e);
-				if (name_compare(e->path, len, first, first_len))
+				if (strnncmp(e->path, len, first, first_len))
 					entry_clear(e);
 			}
 		}
-- 
2.0.0
Previous: Jonathan NiederNext: Jonathan Nieder
Message 4 of 8 in “add strnncmp() function”
  1. 0/3 add strnncmp() functionJeremiah Mahler, Jun 16, 2014
  2. 1/3 add strnncmp() functionJeremiah Mahler, Jun 16, 2014
  3. Jonathan NiederJun 16, 2014
  4. 2/3 tree-walk: simplify via strnncmp()Jeremiah Mahler, Jun 16, 2014
  5. Jonathan NiederJun 16, 2014
  6. Jeremiah MahlerJun 17, 2014
  7. 3/3 unpack-trees: simplify via strnncmp()Jeremiah Mahler, Jun 16, 2014
  8. Jonathan NiederJun 16, 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.