Author: dim
Date: Mon Apr 24 20:34:56 2017
New Revision: 317381
URL: https://svnweb.freebsd.org/changeset/base/317381

Log:
  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

Modified:
  head/usr.bin/diff/diffreg.c

Modified: head/usr.bin/diff/diffreg.c
==============================================================================
--- head/usr.bin/diff/diffreg.c Mon Apr 24 18:35:25 2017        (r317380)
+++ head/usr.bin/diff/diffreg.c Mon Apr 24 20:34:56 2017        (r317381)
@@ -1082,7 +1082,7 @@ change(char *file1, FILE *f1, char *file
 {
        static size_t max_context = 64;
        long curpos;
-       int i, nc;
+       int i, nc, f;
        const char *walk;
 
 restart:
@@ -1214,9 +1214,10 @@ proceed:
                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 @@ proceed:
                 * 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)
_______________________________________________
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to