From b844282a592b5a51000107edfffee49eba560854 Mon Sep 17 00:00:00 2001 From: preston Date: Tue, 7 Mar 2023 23:12:25 -0800 Subject: leaderboard save done theoretically --- src/leaderboard.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/leaderboard.c b/src/leaderboard.c index b198d9f..850fdf0 100644 --- a/src/leaderboard.c +++ b/src/leaderboard.c @@ -53,14 +53,22 @@ leaderboard_t read_leaderboard(char* path, unsigned int capacity) { return lb; } void save_leaderboard(leaderboard_t leaderboard, char* path) { - FILE* file = fopen(path, "w"); + FILE* file = fopen(path, "a"); /* a appends to file */ int res = flock(fileno(file), LOCK_EX); + int i; + leaderscore_t cur; if (res != 0) { fclose(file); return; } /* got lock */ /* TODO: actually write the leaderboard */ + for (i = 0; i < leaderboard.count; i ++) { + cur = leaderboard.scores[i]; + /* TODO: realloc again and then append int in string form to str */ + /* append to file: name,score\n */ + fprintf(file, "%s,%ld\n", cur.name, cur.score); /* prints to file stream */ + } flock(fileno(file), LOCK_UN); fclose(file); } -- cgit v1.3.1