You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Windows will use extended ASCII in short file names if they are present in the long file name. Based on the Wikipedia entry for FAT 8.3 file naming, something like this seems more appropriate:
if (i > n || c < 0x20 || c == 0x7F) return false;
I hope you will consider making a change along these lines in the future. Thanks!
it seems that spaces are not allowed in 8.3 so they should not be allowed (with c < 0x20).
Also I'm not sure that extended chars (>0x7F) are allowed, the article above leave this case undefined. Are you sure that it's possible? Does this patch solve a real world issue?
Thanks for the quick response! Yes, this is a problem that anyone might
encounter. I discovered it when I realized that the SD library wasn't
finding several files on my card and narrowed it down to those with Latin
characters. Here are a couple examples of long names and the Windows
generated short names:
¿Por Qué Te Vas_.mp3
06¿POR~1.MP3
Penélope.mp3
05PENÉ~1.MP3
Windows shouldn't generate short file names with spaces, but other systems
may. I believe space is allowed anywhere except for the first char, but
there is a separate line of code to handle that case. Thanks,
it seems that spaces are not allowed in 8.3 so they should not be allowed
(with c < 0x20).
Also I'm not sure that extended chars (>0x7F) are allowed, the article
above leave this case undefined. Are you sure that it's possible? Does this
patch solve a real world issue?
From @mcaldwelva on November 9, 2015 23:5
This line of code is overly restrictive:
Windows will use extended ASCII in short file names if they are present in the long file name. Based on the Wikipedia entry for FAT 8.3 file naming, something like this seems more appropriate:
I hope you will consider making a change along these lines in the future. Thanks!
Copied from original issue: arduino/Arduino#4121
The text was updated successfully, but these errors were encountered: