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
Diff: FATDirHandle.cpp
- Revision:
- 5:f40c1ca31913
- Parent:
- 1:46ce1e16c870
diff -r 3ff2606d5713 -r f40c1ca31913 FATDirHandle.cpp --- 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 */