In function _FAT_directory_entryFromPosition of file "source/directory.c", the return value of call _FAT_cache_readPartialSector is discarded. The false return value should be kept for the sake of setting EIO for fstat, etc, which is mandated by POSIX.
Moreover, I suspect whether this function is necessary to implement the higher level functions. The only call of this function is found in implementation of function _FAT_fstat_r of file "source/fatfile.c", which calls _FAT_directory_entryStat to use the result. Only member entryData is used by _FAT_directory_entryStat during the call, while other members of DIR_ENTRY are not touched at all. Thus most code in _FAT_directory_entryFromPosition is in vain.