mirror of
https://git.savannah.gnu.org/git/emacs.git
synced 2025-01-14 16:50:58 +00:00
update-game-score: fix bug with -r
* update-game-score.c (main): Don't set 'scores' to garbage when -r is specified and scorecount != MAX_SCORES. This bug was introduced in the 2002-04-10 change, and was found with gcc -Wstrict-overflow (GCC 4.5.2, x86-64).
This commit is contained in:
parent
37dd57d1e5
commit
f0d80d43ba
@ -1,5 +1,11 @@
|
||||
2011-03-21 Paul Eggert <eggert@cs.ucla.edu>
|
||||
|
||||
update-game-score: fix bug with -r
|
||||
* update-game-score.c (main): Don't set 'scores' to garbage when
|
||||
-r is specified and scorecount != MAX_SCORES. This bug was
|
||||
introduced in the 2002-04-10 change, and was found with gcc
|
||||
-Wstrict-overflow (GCC 4.5.2, x86-64).
|
||||
|
||||
fakemail: Remove dependency on ignore-value.
|
||||
This undoes some of the recent fakemail-related changes.
|
||||
It is made possible due to recent changes to gnulib's stdio module.
|
||||
|
@ -242,13 +242,15 @@ main (int argc, char **argv)
|
||||
push_score (&scores, &scorecount, newscore, user_id, newdata);
|
||||
sort_scores (scores, scorecount, reverse);
|
||||
/* Limit the number of scores. If we're using reverse sorting, then
|
||||
we should increment the beginning of the array, to skip over the
|
||||
*smallest* scores. Otherwise, we just decrement the number of
|
||||
scores, since the smallest will be at the end. */
|
||||
also increment the beginning of the array, to skip over the
|
||||
*smallest* scores. Otherwise, just decrementing the number of
|
||||
scores suffices, since the smallest is at the end. */
|
||||
if (scorecount > MAX_SCORES)
|
||||
scorecount -= (scorecount - MAX_SCORES);
|
||||
{
|
||||
if (reverse)
|
||||
scores += (scorecount - MAX_SCORES);
|
||||
scorecount = MAX_SCORES;
|
||||
}
|
||||
if (write_scores (scorefile, scores, scorecount) < 0)
|
||||
{
|
||||
unlock_file (scorefile, lockstate);
|
||||
|
Loading…
Reference in New Issue
Block a user