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

[PATCH 2/3] read-cache.c: Pass 'struct stat' parameters by reference

From
Ramsay Jones <ramsay@ramsay1.demon.co.uk>
Date
Sep 4, 2012, 18:52 UTC
Message-ID
<50464DDE.2070105@ramsay1.demon.co.uk>
Signed-off-by: Ramsay Jones <ramsay@ramsay1.demon.co.uk>
---
Hi Thomas,

Passing the 'struct stat' parameters by value, while not *wrong*, looks somewhat odd to my eyes. As I said before, feel free to ignore this one.

ATB, Ramsay Jones

 read-cache.c | 20 ++++++++++----------
 1 file changed, 10 insertions(+), 10 deletions(-)
diff --git a/read-cache.c b/read-cache.c
index 211b971..36f0877 100644
--- a/read-cache.c
+++ b/read-cache.c
@@ -1199,25 +1199,25 @@ int read_index(struct index_state *istate)
 	return read_index_from(istate, get_index_file());
 }
 
-static int index_changed(struct stat st_old, struct stat st_new)
+static int index_changed(struct stat *st_old, struct stat *st_new)
 {
 	int changed = 0;
 
-	if (st_old.st_mtime != st_new.st_mtime ||
+	if (st_old->st_mtime != st_new->st_mtime ||
 #if !defined(__CYGWIN__)
-	    st_old.st_uid   != st_new.st_uid ||
-	    st_old.st_gid   != st_new.st_gid ||
-	    st_old.st_ino   != st_new.st_ino ||
+	    st_old->st_uid   != st_new->st_uid ||
+	    st_old->st_gid   != st_new->st_gid ||
+	    st_old->st_ino   != st_new->st_ino ||
 #endif
-	    st_old.st_size  != st_new.st_size)
+	    st_old->st_size  != st_new->st_size)
 		changed = 1;
 #ifdef USE_NSEC
-	if (ST_MTIME_NSEC(st_old) != ST_MTIME_NSEC(st_new))
+	if (ST_MTIME_NSEC(*st_old) != ST_MTIME_NSEC(*st_new))
 		changed = 1;
 #endif
 
 #ifdef USE_STDEV
-	if (st_old.st_dev != st_new.st_dev)
+	if (st_old->st_dev != st_new->st_dev)
 		changed = 1;
 #endif
 
@@ -1273,12 +1273,12 @@ int read_index_from(struct index_state *istate, const char *path)
 
 		munmap(mmap, mmap_size);
 
-		if (!index_changed(st_old, st_new) && !err)
+		if (!index_changed(&st_old, &st_new) && !err)
 			return istate->cache_nr;
 
 		usleep(10*1000);
 		i++;
-	} while ((err || index_changed(st_old, st_new)) && i < 50);
+	} while ((err || index_changed(&st_old, &st_new)) && i < 50);
 
 	munmap(mmap, mmap_size);
 	die("index file corrupt");
-- 
1.7.12
Message 1 of 1 in “read-cache.c: Pass 'struct stat' parameters by reference”
  1. 2/3 read-cache.c: Pass 'struct stat' parameters by referenceRamsay Jones, Sep 4, 2012

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.