diff options
author | inmarket <andrewh@inmarket.com.au> | 2014-06-27 23:04:01 +1000 |
---|---|---|
committer | inmarket <andrewh@inmarket.com.au> | 2014-06-27 23:04:01 +1000 |
commit | a9f1520e02ed5425abbfb7e621f103053c2e3799 (patch) | |
tree | c4cf5e3b238bf83b58aaac87d03dc02746d56881 /src/gfile/inc_fatfs.c | |
parent | c2a27f3e7c5700be2eb2f29bcfb677241f62703e (diff) | |
download | uGFX-a9f1520e02ed5425abbfb7e621f103053c2e3799.tar.gz uGFX-a9f1520e02ed5425abbfb7e621f103053c2e3799.tar.bz2 uGFX-a9f1520e02ed5425abbfb7e621f103053c2e3799.zip |
Fatfs Cleanup
Diffstat (limited to 'src/gfile/inc_fatfs.c')
-rw-r--r-- | src/gfile/inc_fatfs.c | 32 |
1 files changed, 15 insertions, 17 deletions
diff --git a/src/gfile/inc_fatfs.c b/src/gfile/inc_fatfs.c index ff75eb3b..a9066bf9 100644 --- a/src/gfile/inc_fatfs.c +++ b/src/gfile/inc_fatfs.c @@ -56,20 +56,21 @@ static const GFILEVMT FsFatFSVMT = { static bool_t fatfs_mounted = FALSE; static FATFS fatfs_fs; -static void _flags2mode(GFILE* f, BYTE* mode) +static BYTE fatfs_flags2mode(GFILE* f) { - *mode = 0; + BYTE mode = 0; if (f->flags & GFILEFLG_READ) - *mode |= FA_READ; + mode |= FA_READ; if (f->flags & GFILEFLG_WRITE) - *mode |= FA_WRITE; + mode |= FA_WRITE; if (f->flags & GFILEFLG_APPEND) - *mode |= 0; // ToDo + mode |= 0; // ToDo if (f->flags & GFILEFLG_TRUNC) - *mode |= FA_CREATE_ALWAYS; + mode |= FA_CREATE_ALWAYS; - /* ToDo - Complete */ + /* ToDo - Complete */ + return mode; } static bool_t fatfsDel(const char* fname) @@ -121,19 +122,16 @@ static bool_t fatfsRename(const char* oldname, const char* newname) static bool_t fatfsOpen(GFILE* f, const char* fname) { FIL* fd; - BYTE mode; - FRESULT ferr; -/* - if (!fatfs_mounted && !fatfsMount("")) - return FALSE; -*/ + + #if !GFILE_NEED_NOAUTOMOUNT + if (!fatfs_mounted && !fatfsMount("")) + return FALSE; + #endif + if (!(fd = gfxAlloc(sizeof(FIL)))) return FALSE; - _flags2mode(f, &mode); - - ferr = f_open(fd, fname, mode); - if (ferr != FR_OK) { + if (f_open(fd, fname, fatfs_flags2mode(f)) != FR_OK) { gfxFree(fd); f->obj = 0; |