✏️ Fix getLFNName parameter (#23752)

This commit is contained in:
GHGiampy 2022-02-18 01:45:42 +01:00 committed by Scott Lahteine
parent 0b4f5298f5
commit c0f6d2f78c

View file

@ -1140,8 +1140,8 @@ bool SdBaseFile::openNext(SdBaseFile *dirFile, uint8_t oflag) {
// We can't reconvert to UTF-8 here as UTF-8 is variable-size encoding, but joining LFN blocks // We can't reconvert to UTF-8 here as UTF-8 is variable-size encoding, but joining LFN blocks
// needs static bytes addressing. So here just store full UTF-16LE words to re-convert later. // needs static bytes addressing. So here just store full UTF-16LE words to re-convert later.
uint16_t idx = (startOffset + i) * 2; // This is fixed as FAT LFN always contain UTF-16LE encoding uint16_t idx = (startOffset + i) * 2; // This is fixed as FAT LFN always contain UTF-16LE encoding
longFilename[idx] = utf16_ch & 0xFF; lname[idx] = utf16_ch & 0xFF;
longFilename[idx + 1] = (utf16_ch >> 8) & 0xFF; lname[idx + 1] = (utf16_ch >> 8) & 0xFF;
#else #else
// Replace all multibyte characters to '_' // Replace all multibyte characters to '_'
lname[startOffset + i] = (utf16_ch > 0xFF) ? '_' : (utf16_ch & 0xFF); lname[startOffset + i] = (utf16_ch > 0xFF) ? '_' : (utf16_ch & 0xFF);