summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStefan Monnier <monnier@iro.umontreal.ca>2009-09-11 19:11:07 +0000
committerStefan Monnier <monnier@iro.umontreal.ca>2009-09-11 19:11:07 +0000
commitb3b5ca1013ac9c94dfc267ba04d3aefb8afa491a (patch)
tree1fee7e0c445cf7ec0f74fe210c723e004ddc590a
parentaeec396a504c132dee35b70efda67490639859c7 (diff)
downloademacs-b3b5ca1013ac9c94dfc267ba04d3aefb8afa491a.tar.gz
(main): Sort scores before trimming them,
reported by Jason Feng <jfeng@ozbert.com> (bug#4397).
-rw-r--r--lib-src/ChangeLog5
-rw-r--r--lib-src/update-game-score.c6
2 files changed, 8 insertions, 3 deletions
diff --git a/lib-src/ChangeLog b/lib-src/ChangeLog
index 7970ee5aae2..93cd999509e 100644
--- a/lib-src/ChangeLog
+++ b/lib-src/ChangeLog
@@ -1,3 +1,8 @@
+2009-09-11 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * update-game-score.c (main): Sort scores before trimming them,
+ reported by Jason Feng <jfeng@ozbert.com> (bug#4397).
+
2009-09-09 Glenn Morris <rgm@gnu.org>
* Makefile.in ($(DESTDIR)${archlibdir}): Set umask to world-readable
diff --git a/lib-src/update-game-score.c b/lib-src/update-game-score.c
index d85f426cbf6..e4ddb79247f 100644
--- a/lib-src/update-game-score.c
+++ b/lib-src/update-game-score.c
@@ -254,15 +254,15 @@ main (argc, argv)
lose_syserr ("Failed to read scores file");
}
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. */
if (scorecount > MAX_SCORES)
scorecount -= (scorecount - MAX_SCORES);
- if (reverse)
- scores += (scorecount - MAX_SCORES);
- sort_scores (scores, scorecount, reverse);
+ if (reverse)
+ scores += (scorecount - MAX_SCORES);
if (write_scores (scorefile, scores, scorecount) < 0)
{
unlock_file (scorefile, lockstate);