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

[PATCH v3 1/5] cache: rename cache_name_compare() to name_compare()

From
Jeremiah Mahler <jmmahler@gmail.com>
Date
Jun 18, 2014, 18:45 UTC
Message-ID
<1403117117-10384-2-git-send-email-jmmahler@gmail.com>
In-Reply-To
<1403117117-10384-1-git-send-email-jmmahler@gmail.com>

The cache_name_compare() function is not specific to a cache. Make its name more general by renaming it to name_compare().

Simplify cache_name_stage_compare() via name_compare(). Where lengths are involved, change int to size_t.

Signed-off-by: Jeremiah Mahler <jmmahler@gmail.com>
---
 cache.h      |  2 +-
 read-cache.c | 23 +++++++++++++----------
 2 files changed, 14 insertions(+), 11 deletions(-)
diff --git a/cache.h b/cache.h
index c498a30..e3205fe 100644
--- a/cache.h
+++ b/cache.h
@@ -1027,7 +1027,7 @@ extern int validate_headref(const char *ref);
 
 extern int base_name_compare(const char *name1, int len1, int mode1, const char *name2, int len2, int mode2);
 extern int df_name_compare(const char *name1, int len1, int mode1, const char *name2, int len2, int mode2);
-extern int cache_name_compare(const char *name1, int len1, const char *name2, int len2);
+extern int name_compare(const char *name1, size_t len1, const char *name2, size_t len2);
 extern int cache_name_stage_compare(const char *name1, int len1, int stage1, const char *name2, int len2, int stage2);
 
 extern void *read_object_with_reference(const unsigned char *sha1,
diff --git a/read-cache.c b/read-cache.c
index 9f56d76..158241d 100644
--- a/read-cache.c
+++ b/read-cache.c
@@ -434,18 +434,26 @@ int df_name_compare(const char *name1, int len1, int mode1,
 	return c1 - c2;
 }
 
-int cache_name_stage_compare(const char *name1, int len1, int stage1, const char *name2, int len2, int stage2)
+int name_compare(const char *name1, size_t len1, const char *name2, size_t len2)
 {
-	int len = len1 < len2 ? len1 : len2;
-	int cmp;
-
-	cmp = memcmp(name1, name2, len);
+	size_t min_len = (len1 < len2) ? len1 : len2;
+	int cmp = memcmp(name1, name2, min_len);
 	if (cmp)
 		return cmp;
 	if (len1 < len2)
 		return -1;
 	if (len1 > len2)
 		return 1;
+	return 0;
+}
+
+int cache_name_stage_compare(const char *name1, int len1, int stage1, const char *name2, int len2, int stage2)
+{
+	int cmp;
+
+	cmp = name_compare(name1, len1, name2, len2);
+	if (cmp)
+		return cmp;
 
 	if (stage1 < stage2)
 		return -1;
@@ -454,11 +462,6 @@ int cache_name_stage_compare(const char *name1, int len1, int stage1, const char
 	return 0;
 }
 
-int cache_name_compare(const char *name1, int len1, const char *name2, int len2)
-{
-	return cache_name_stage_compare(name1, len1, 0, name2, len2, 0);
-}
-
 static int index_name_stage_pos(const struct index_state *istate, const char *name, int namelen, int stage)
 {
 	int first, last;
-- 
2.0.0
Previous: Jeremiah MahlerNext: Jonathan Nieder
Message 2 of 15 in “cleanup duplicate name_compare() functions”
  1. 0/5 cleanup duplicate name_compare() functionsJeremiah Mahler, Jun 18, 2014
  2. 1/5 cache: rename cache_name_compare() to name_compare()Jeremiah Mahler, Jun 18, 2014
  3. Jonathan NiederJun 18, 2014
  4. 2/5 tree-walk.c: remove name_compare() functionJeremiah Mahler, Jun 18, 2014
  5. Jonathan NiederJun 18, 2014
  6. Jeremiah MahlerJun 19, 2014
  7. 3/5 unpack-trees.c: remove name_compare() functionJeremiah Mahler, Jun 18, 2014
  8. Jonathan NiederJun 18, 2014
  9. 4/5 dir.c: rename to name_compare()Jeremiah Mahler, Jun 18, 2014
  10. Jonathan NiederJun 18, 2014
  11. 5/5 name-hash.c: rename to name_compare()Jeremiah Mahler, Jun 18, 2014
  12. Jonathan NiederJun 18, 2014
  13. Jonathan NiederJun 18, 2014
  14. Jeremiah MahlerJun 19, 2014
  15. Jeff KingJun 19, 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.