summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGravatar Lubomir I. Ivanov <neolit123@gmail.com>2013-02-23 18:33:13 +0200
committerGravatar Dirk Hohndel <dirk@hohndel.org>2013-02-23 15:22:34 -0800
commitdd5e181890da34d717031748b797dd9e0bead5a3 (patch)
treec3729d498473930ec0c883d4d1f59c2acca2135a
parentbf5a48a32c79e9802026b3a888f75557c1b11d8f (diff)
downloadsubsurface-dd5e181890da34d717031748b797dd9e0bead5a3.tar.gz
statistics.c: Fix a potential compiler bug triggered in gcc 3.4.5
This may look as a simple formatting change and won't make much sense to the C programmer. It is an actual bug fix in Subsurface for the target compiler, since it introduces bogus instructions. The "month" variable ends up being incremented up to 72 for a single "month++" call (if inside offset brackets). gcc -v Configured with: ../gcc-3.4.5-20060117-3/configure --with-gcc --with-gnu-ld --with-gnu-as --host=mingw32 --target=mingw32 --prefix=/mingw --enable-threads --disable-nls --enable-languages=c,c++,f77,ada,objc,java --disable-win32-registry --disable-shared --enable-sjlj-exceptions --enable-libgcj --disable-java-awt --without-x --enable-java-gc=boehm --disable-libgcj-debug --enable-interpreter --enable-hash-synchronization --enable-libstdcxx-debug Thread model: win32 gcc version 3.4.5 (mingw-vista special r3) OS: Windows 7 [6.1.7601] - x64 Better explained here: http://lists.hohndel.org/pipermail/subsurface/2013-February/003967.html Signed-off-by: Lubomir I. Ivanov <neolit123@gmail.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
-rw-r--r--statistics.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/statistics.c b/statistics.c
index 96bc5db36..9cbfcc72f 100644
--- a/statistics.c
+++ b/statistics.c
@@ -361,7 +361,8 @@ static void update_yearly_stats()
for (j = 0; combined_months < stats_yearly[i].selection_size; ++j) {
combined_months += stats_monthly[month].selection_size;
- process_interval_stats(stats_monthly[month++], &year_iter, &month_iter);
+ process_interval_stats(stats_monthly[month], &year_iter, &month_iter);
+ month++;
}
}
}