Fork of FATFileSystem that exposes FILINFO in the FATDirHandle. This allows obtaining true file sizes and testing whether a dir pointer is a directory or a file.

Dependents:   SDFileSystemNoStall

Fork of FATFileSystem by mbed official

Revision:
5:f40c1ca31913
Parent:
1:46ce1e16c870
--- a/FATDirHandle.cpp	Thu Aug 28 13:15:31 2014 +0100
+++ b/FATDirHandle.cpp	Thu Oct 30 06:19:16 2014 +0000
@@ -35,30 +35,29 @@
 }
 
 struct dirent *FATDirHandle::readdir() {
-    FILINFO finfo;
 
 #if _USE_LFN
-    finfo.lfname = cur_entry.d_name;
-    finfo.lfsize = sizeof(cur_entry.d_name);
+    cur_filinfo.lfname = cur_entry.d_name;
+    cur_filinfo.lfsize = sizeof(cur_entry.d_name);
 #endif // _USE_LFN
 
-    FRESULT res = f_readdir(&dir, &finfo);
+    FRESULT res = f_readdir(&dir, &cur_filinfo);
 
 #if _USE_LFN
-    if(res != 0 || finfo.fname[0]==0) {
+    if(res != 0 || cur_filinfo.fname[0]==0) {
         return NULL;
     } else {
         if(cur_entry.d_name[0]==0) {
             // No long filename so use short filename.
-            memcpy(cur_entry.d_name, finfo.fname, sizeof(finfo.fname));
+            memcpy(cur_entry.d_name, cur_filinfo.fname, sizeof(cur_filinfo.fname));
         }
         return &cur_entry;
     }
 #else
-    if(res != 0 || finfo.fname[0]==0) {
+    if(res != 0 || cur_filinfo.fname[0]==0) {
         return NULL;
     } else {
-        memcpy(cur_entry.d_name, finfo.fname, sizeof(finfo.fname));
+        memcpy(cur_entry.d_name, cur_filinfo.fname, sizeof(cur_filinfo.fname));
         return &cur_entry;
     }
 #endif /* _USE_LFN */