Add SCROLL_LONG_FILENAMES option

This commit is contained in:
Scott Lahteine
2017-10-18 22:15:33 -05:00
parent 9e5cbf0198
commit 783ddf9691
37 changed files with 204 additions and 45 deletions

View File

@ -1146,7 +1146,7 @@ int8_t SdBaseFile::readDir(dir_t* dir, char* longFilename) {
vfat_t* VFAT = (vfat_t*)dir;
// Sanity-check the VFAT entry. The first cluster is always set to zero. And the sequence number should be higher than 0
if (VFAT->firstClusterLow == 0 && (VFAT->sequenceNumber & 0x1F) > 0 && (VFAT->sequenceNumber & 0x1F) <= MAX_VFAT_ENTRIES) {
// TODO: Store the filename checksum to verify if a none-long filename aware system modified the file table.
// TODO: Store the filename checksum to verify if a long-filename-unaware system modified the file table.
n = ((VFAT->sequenceNumber & 0x1F) - 1) * (FILENAME_LENGTH);
for (uint8_t i = 0; i < FILENAME_LENGTH; i++)
longFilename[n + i] = (i < 5) ? VFAT->name1[i] : (i < 11) ? VFAT->name2[i - 5] : VFAT->name3[i - 11];