From 0a0be62b8dbd147148dc8fca71866e1038e9c76f Mon Sep 17 00:00:00 2001 From: Daniel Stenberg Date: Sat, 13 Aug 2005 20:40:35 +0000 Subject: [PATCH] reverted the fixed 4 bytes write, made the read code more reliable, use fdprintf() when writing the highscore, add newline after score in the saved file for easier loading (but the load code is fixed to better deal with files saved using the former method as well) git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7323 a1c6a512-1295-4272-9138-f99709370657 --- apps/plugins/snake2.c | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/apps/plugins/snake2.c b/apps/plugins/snake2.c index a74394ce58..8221c98bc3 100644 --- a/apps/plugins/snake2.c +++ b/apps/plugins/snake2.c @@ -473,18 +473,21 @@ void iohiscore(void) { int fd; unsigned int compare,init=0; - - rb->snprintf(phscore,sizeof(phscore),"%d",init); - fd = rb->open(HISCORE_FILE,O_RDWR | O_CREAT); - rb->read(fd,phscore,4); + /* clear the buffer we're about to load the highscore data into */ + rb->memset(phscore, 0, sizeof(phscore)); + + fd = rb->open(HISCORE_FILE,O_RDWR | O_CREAT); + + /* highscore used to %d, is now %d\n + Deal with no file or bad file */ + rb->read(fd,phscore, sizeof(phscore)); compare = rb->atoi(phscore); if(hiscore > compare){ - rb->snprintf(phscore,sizeof(phscore),"%d",hiscore); rb->lseek(fd,0,SEEK_SET); - rb->write(fd,phscore,4); + rb->fdprintf(fd, "%d\n", hiscore); } else hiscore = compare;