From b09170132095f74c4ff0ee7c51916fe038501e7d Mon Sep 17 00:00:00 2001 From: Jeff Moyer Date: Mon, 20 Oct 2008 09:55:41 -0400 Subject: [PATCH] Clean up the array copying for the new high scores list. It was way too convoluted. --- score.c | 19 +++++-------------- 1 file changed, 5 insertions(+), 14 deletions(-) diff --git a/score.c b/score.c index 6f768ef..8727f86 100644 --- a/score.c +++ b/score.c @@ -88,29 +88,20 @@ void insert_score(char *name, uint64_t score, int slot) { struct high_score *new_high_scores = malloc(HIGH_SCORES_SIZE); - struct high_score *start, *p; - int i = 0, left = NR_HIGH_SCORES - 1; + int i, j; assert(new_high_scores); - while (i < NR_HIGH_SCORES) { + for (i = 0, j = 0; i < NR_HIGH_SCORES; i++) { if (i == slot) { new_high_scores[i].score = score; strcpy(new_high_scores[i].playername, name); - start = &high_scores[i]; - left = NR_HIGH_SCORES - i - 1; - i++; - break; + continue; } else - new_high_scores[i] = high_scores[i]; - i++; + new_high_scores[i] = high_scores[j]; + j++; } - p = start; - while (left--) { - new_high_scores[i++] = *p; - p++; - } free(high_scores); high_scores = new_high_scores; } -- 2.11.4.GIT