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

[PATCH 1/3] range-diff: drop useless "offset" variable from read_patches()

From
Jeff King <peff@peff.net>
Date
Aug 9, 2021, 22:47 UTC
Message-ID
<YRGwjgAIyLPb7g50@coredump.intra.peff.net>
In-Reply-To
<YRGwGDvOte/o9vkd@coredump.intra.peff.net>

The "offset" variable was was introduced in 44b67cb62b (range-diff: split lines manually, 2019-07-11), but it has never done anything useful. We use it to count up the number of bytes we've consumed, but we never look at the result. It was probably copied accidentally from an almost-identical loop in apply.c:find_header() (and the point of that commit was to make use of the parse_git_diff_header() function which underlies both).

Because the variable was set but not used, most compilers didn't seem to notice, but the upcoming clang-14 does complain about it, via its -Wunused-but-set-variable warning.

Signed-off-by: Jeff King <peff@peff.net>
---
The for-loop with an empty initializer and a doubled post-loop operation
is a little funny to see. I didn't see an easy way to make it less ugly
(pushing the line/size initialization into the for() would work, but the
resulting line is awfully long).
 range-diff.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/range-diff.c b/range-diff.c
index e9479794b4..551600c774 100644
--- a/range-diff.c
+++ b/range-diff.c
@@ -49,7 +49,7 @@ static int read_patches(const char *range, struct string_list *list,
 	struct patch_util *util = NULL;
 	int in_header = 1;
 	char *line, *current_filename = NULL;
-	int offset, len;
+	int len;
 	size_t size;
 
 	strvec_pushl(&cp.args, "log", "--no-color", "-p", "--no-merges",
@@ -86,7 +86,7 @@ static int read_patches(const char *range, struct string_list *list,
 
 	line = contents.buf;
 	size = contents.len;
-	for (offset = 0; size > 0; offset += len, size -= len, line += len) {
+	for (; size > 0; size -= len, line += len) {
 		const char *p;
 
 		len = find_end_of_line(line, size);
-- 
2.33.0.rc1.475.g023efe0ae4
Previous: Jeff KingNext: Jeff King
Message 2 of 6 in “some small range-diff read_patches() fixes”
  1. 0/3 some small range-diff read_patches() fixesJeff King, Aug 9, 2021
  2. 1/3 range-diff: drop useless "offset" variable from read_patches()Jeff King, Aug 9, 2021
  3. 2/3 range-diff: handle unterminated lines in read_patches()Jeff King, Aug 9, 2021
  4. 3/3 range-diff: use ssize_t for parsed "len" in read_patches()Jeff King, Aug 9, 2021
  5. Derrick StoleeAug 10, 2021
  6. Johannes SchindelinAug 14, 2021

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.