From 0b51bdbd420aa027124788ff8d7c15328ebd59c1 Mon Sep 17 00:00:00 2001 From: Stefan `Sec` Zehl Date: Sun, 21 Aug 2011 19:10:08 +0200 Subject: [PATCH] Fix the black pixels at the top left in lcdLoadImage. readFile was originally inteded as a string read function. Fix it to read binary, and add readTextFile for the other case. --- firmware/applications/final/nickname.c | 6 +++--- firmware/filesystem/util.c | 13 +++++++++++-- 2 files changed, 14 insertions(+), 5 deletions(-) diff --git a/firmware/applications/final/nickname.c b/firmware/applications/final/nickname.c index a0985ef..9f62162 100644 --- a/firmware/applications/final/nickname.c +++ b/firmware/applications/final/nickname.c @@ -56,9 +56,9 @@ void simpleNickname(void) { /**************************************************************************/ void init_nick(void){ - readFile("nick.cfg",GLOBAL(nickname),MAXNICK); - readFile("font.cfg",GLOBAL(nickfont),FILENAMELEN); - readFile("l0nick.cfg",GLOBAL(nickl0),FILENAMELEN); + readTextFile("nick.cfg",GLOBAL(nickname),MAXNICK); + readTextFile("font.cfg",GLOBAL(nickfont),FILENAMELEN); + readTextFile("l0nick.cfg",GLOBAL(nickl0),FILENAMELEN); }; //# MENU nick editNick diff --git a/firmware/filesystem/util.c b/firmware/filesystem/util.c index e425852..5fd246a 100644 --- a/firmware/filesystem/util.c +++ b/firmware/filesystem/util.c @@ -39,17 +39,26 @@ int readFile(char * filename, char * data, int len){ return -1; }; - res = f_read(&file, data, len-1, &readbytes); + res = f_read(&file, data, len, &readbytes); if(res){ return -1; }; f_close(&file); - data[readbytes]=0; return readbytes; }; +int readTextFile(char * filename, char * data, int len){ + UINT readbytes; + + readbytes=readFile(filename,data,len-1); + if(len>=0) + data[readbytes]=0; + return readbytes; +}; + + int writeFile(char * filename, char * data, int len){ FIL file; UINT writebytes;