This is SDFileSystem which corrected the bug for MiMicSDK.

Dependents:   MbedFileServer_1768MiniDK2 RedWireBridge IssueDebug_gcc MiMicRemoteMCU-for-Mbed ... more

Fork of SDFileSystem by mbed official

Revision:
6:972a52e4d92c
Parent:
5:2c7b6bd5b079
Child:
7:5429e81addde
--- a/FATFileSystem/FATFileSystem.cpp	Thu Apr 25 02:14:56 2013 +0000
+++ b/FATFileSystem/FATFileSystem.cpp	Fri Apr 26 09:07:37 2013 +0000
@@ -67,8 +67,8 @@
 
 FileHandle *FATFileSystem::open(const char* name, int flags) {
     debug_if(FFS_DBG, "open(%s) on filesystem [%s], drv [%d]\n", name, _name, _fsid);
-    char n[64];
-    sprintf(n, "%d:/%s", _fsid, name);
+//    char n[64];
+//    sprintf(n, "%d:/%s", _fsid, name);
     
     /* POSIX flags -> FatFS open mode */
     BYTE openmode;
@@ -87,7 +87,7 @@
         }
     }
     FIL fh;
-    FRESULT res = f_open(&fh, n, openmode);
+    FRESULT res = f_open(&fh,this->_fsid,name, openmode);
     if (res) { 
         debug_if(FFS_DBG, "f_open('w') failed: %d\n", res);
         return NULL;
@@ -99,7 +99,7 @@
 }
     
 int FATFileSystem::remove(const char *filename) {
-    FRESULT res = f_unlink(filename);
+    FRESULT res = f_unlink(this->_fsid,filename);
     if (res) { 
         debug_if(FFS_DBG, "f_unlink() failed: %d\n", res);
         return -1;
@@ -115,10 +115,9 @@
     }
     return 0;
 }
-
 DirHandle *FATFileSystem::opendir(const char *name) {
-    FATFS_DIR dir;
-    FRESULT res = f_opendir(&dir, name);
+    FATFS_DIR dir;      
+    FRESULT res = f_opendir(&dir,this->_fsid,name);
     if (res != 0) {
         return NULL;
     }
@@ -126,6 +125,6 @@
 }
 
 int FATFileSystem::mkdir(const char *name, mode_t mode) {
-    FRESULT res = f_mkdir(name);
+    FRESULT res = f_mkdir(this->_fsid,name);
     return res == 0 ? 0 : -1;
 }