Jim Meyering wrote: > At that point "best" is already guaranteed to be zero.
The variable 'best' is used for two different purposes here: for two different searches in opposite directions. Therefore it does not increase maintainability to rely on the result of the first search loop for the initialization of the second loop, if the two loops are actually independent. I'm therefore applying this follow-up that reduces the scope of the variables. Bruno 2009-11-21 Bruno Haible <[email protected]> diffseq: reduce scope of variable 'best'. * lib/diffseq.h (diag) [USE_HEURISTIC]: Reduce scope of 'best' variable, earlier used for two different purposes. diff --git -b a/lib/diffseq.h b/lib/diffseq.h index 509dac8..0c1723f 100644 --- a/lib/diffseq.h +++ b/lib/diffseq.h @@ -1,6 +1,6 @@ /* Analyze differences between two vectors. - Copyright (C) 1988-1989, 1992-1995, 2001-2004, 2006-2008 Free + Copyright (C) 1988-1989, 1992-1995, 2001-2004, 2006-2009 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify @@ -262,6 +262,7 @@ diag (OFFSET xoff, OFFSET xlim, OFFSET yoff, OFFSET ylim, bool find_minimal, if (200 < c && big_snake && ctxt->heuristic) { + { OFFSET best = 0; for (d = fmax; d >= fmin; d -= 2) @@ -298,6 +299,10 @@ diag (OFFSET xoff, OFFSET xlim, OFFSET yoff, OFFSET ylim, bool find_minimal, part->hi_minimal = false; return; } + } + + { + OFFSET best = 0; for (d = bmax; d >= bmin; d -= 2) { @@ -334,6 +339,7 @@ diag (OFFSET xoff, OFFSET xlim, OFFSET yoff, OFFSET ylim, bool find_minimal, return; } } + } #endif /* USE_HEURISTIC */ /* Heuristic: if we've gone well beyond the call of duty, give up
