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

[PATCH 3/5] diff --stat: use "file" temporary variable to refer to data->files[i]

From
Junio C Hamano <gitster@pobox.com>
Date
Nov 27, 2012, 21:21 UTC
Message-ID
<1354051310-29093-4-git-send-email-gitster@pobox.com>
In-Reply-To
<1354051310-29093-1-git-send-email-gitster@pobox.com>
The generated code shouldn't change but it is easier to read.
Signed-off-by: Junio C Hamano <gitster@pobox.com>
---
 diff.c | 26 +++++++++++++-------------
 1 file changed, 13 insertions(+), 13 deletions(-)
diff --git a/diff.c b/diff.c
index ce6baa4..e4e70e5 100644
--- a/diff.c
+++ b/diff.c
@@ -1470,8 +1470,8 @@ static void show_stats(struct diffstat_t *data, struct diff_options *options)
 	for (i = 0; (i < count) && (i < data->nr); i++) {
 		struct diffstat_file *file = data->files[i];
 		uintmax_t change = file->added + file->deleted;
-		if (!data->files[i]->is_interesting &&
-			 (change == 0)) {
+
+		if (!file->is_interesting && (change == 0)) {
 			count++; /* not shown == room for one more */
 			continue;
 		}
@@ -1586,13 +1586,13 @@ static void show_stats(struct diffstat_t *data, struct diff_options *options)
 	 */
 	for (i = 0; i < count; i++) {
 		const char *prefix = "";
-		char *name = data->files[i]->print_name;
-		uintmax_t added = data->files[i]->added;
-		uintmax_t deleted = data->files[i]->deleted;
+		struct diffstat_file *file = data->files[i];
+		char *name = file->print_name;
+		uintmax_t added = file->added;
+		uintmax_t deleted = file->deleted;
 		int name_len;
 
-		if (!data->files[i]->is_interesting &&
-			 (added + deleted == 0)) {
+		if (!file->is_interesting && (added + deleted == 0)) {
 			total_files--;
 			continue;
 		}
@@ -1611,7 +1611,7 @@ static void show_stats(struct diffstat_t *data, struct diff_options *options)
 				name = slash;
 		}
 
-		if (data->files[i]->is_binary) {
+		if (file->is_binary) {
 			fprintf(options->file, "%s", line_prefix);
 			show_name(options->file, prefix, name, len);
 			fprintf(options->file, " %*s", number_width, "Bin");
@@ -1628,7 +1628,7 @@ static void show_stats(struct diffstat_t *data, struct diff_options *options)
 			fprintf(options->file, "\n");
 			continue;
 		}
-		else if (data->files[i]->is_unmerged) {
+		else if (file->is_unmerged) {
 			fprintf(options->file, "%s", line_prefix);
 			show_name(options->file, prefix, name, len);
 			fprintf(options->file, " Unmerged\n");
@@ -1668,10 +1668,10 @@ static void show_stats(struct diffstat_t *data, struct diff_options *options)
 		fprintf(options->file, "\n");
 	}
 	for (i = count; i < data->nr; i++) {
-		uintmax_t added = data->files[i]->added;
-		uintmax_t deleted = data->files[i]->deleted;
-		if (!data->files[i]->is_interesting &&
-			 (added + deleted == 0)) {
+		struct diffstat_file *file = data->files[i];
+		uintmax_t added = file->added;
+		uintmax_t deleted = file->deleted;
+		if (!file->is_interesting && (added + deleted == 0)) {
 			total_files--;
 			continue;
 		}
-- 
1.8.0.1.331.g808d2af
Previous: Junio C HamanoNext: Junio C Hamano
Message 4 of 15 in “"diff --stat" counting fixes”
  1. 0/5 "diff --stat" counting fixesJunio C Hamano, Nov 27, 2012
  2. 1/5 test: add failing tests for "diff --stat" to t4049Junio C Hamano, Nov 27, 2012
  3. 2/5 diff --stat: status of unmodified pair in diff-q is not zeroJunio C Hamano, Nov 27, 2012
  4. 3/5 diff --stat: use "file" temporary variable to refer to data->files[i]Junio C Hamano, Nov 27, 2012
  5. 4/5 diff --stat: move the "total count" logic to the last loopJunio C Hamano, Nov 27, 2012
  6. 5/5 diff --stat: do not count "unmerged" entriesJunio C Hamano, Nov 27, 2012
  7. 6/5 diff --shortstat: do not count "unmerged" entriesJunio C Hamano, Nov 27, 2012
  8. t4049: avoid test failures on filemode challenged file systems (Windows)Johannes Sixt, Nov 29, 2012
  9. Junio C HamanoNov 29, 2012
  10. Junio C HamanoNov 29, 2012
  11. Junio C HamanoNov 29, 2012
  12. Johannes SixtNov 30, 2012
  13. Junio C HamanoDec 2, 2012
  14. Antoine PelisseDec 1, 2012
  15. Junio C HamanoDec 2, 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.