From 7ef35d05aaaab92b476bebd14576ae89d969bf4f Mon Sep 17 00:00:00 2001 From: Dimitry Andric Date: Mon, 24 Apr 2017 20:34:56 +0000 Subject: [PATCH] Fix the following warning from gcc 4.2 in usr.bin/diff: usr.bin/diff/diffreg.c: In function 'change': usr.bin/diff/diffreg.c:1085: warning: 'i' may be used uninitialized in this function This version of gcc is not smart enough to see that 'i' cannot actually be used unitialized. However, the variable is confusingly re-used, so it is better to give it another name, and clearly initialize it before attempting to use it. Reviewed by: bapt Differential Revision: https://reviews.freebsd.org/D10484 --- usr.bin/diff/diffreg.c | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/usr.bin/diff/diffreg.c b/usr.bin/diff/diffreg.c index 8f6d7ccd67c4..24196d84be42 100644 --- a/usr.bin/diff/diffreg.c +++ b/usr.bin/diff/diffreg.c @@ -1082,7 +1082,7 @@ change(char *file1, FILE *f1, char *file2, FILE *f2, int a, int b, int c, int d, { static size_t max_context = 64; long curpos; - int i, nc; + int i, nc, f; const char *walk; restart: @@ -1214,9 +1214,10 @@ change(char *file1, FILE *f1, char *file2, FILE *f2, int a, int b, int c, int d, if (a <= b && c <= d && diff_format == D_NORMAL) diff_output("---\n"); } + f = 0; if (diff_format != D_GFORMAT) - i = fetch(ixnew, c, d, f2, diff_format == D_NORMAL ? '>' : '\0', 0, *pflags); - if (i != 0 && diff_format == D_EDIT) { + f = fetch(ixnew, c, d, f2, diff_format == D_NORMAL ? '>' : '\0', 0, *pflags); + if (f != 0 && diff_format == D_EDIT) { /* * A non-zero return value for D_EDIT indicates that the * last line printed was a bare dot (".") that has been @@ -1225,10 +1226,10 @@ change(char *file1, FILE *f1, char *file2, FILE *f2, int a, int b, int c, int d, * back and restart where we left off. */ diff_output(".\n"); - diff_output("%ds/.//\n", a + i - 1); - b = a + i - 1; + diff_output("%ds/.//\n", a + f - 1); + b = a + f - 1; a = b + 1; - c += i; + c += f; goto restart; } if ((diff_format == D_EDIT || diff_format == D_REVERSE) && c <= d)