Ticket #373 (Open)Mon Dec 09 16:48:18 UTC 2013
DOSFS invalid chr map doesn't account for LFN relaxed rules
Reported by: | David Feugey (2125) | Severity: | Normal |
Part: | RISC OS: Module | Release: | |
Milestone: | Status | Open |
Details by David Feugey (2125):
On my Raspberry Pi, I can copy files like GCC+4.412.zip from a FAT16/FAT32 USB Key to my SD card (ROS RC11).
With the ROM 2013-12-07 on my PandaBoard, I get an error while reading this kind of file (“file does not exist”).
Changelog:
Modified by Sprow (202) Tue, December 24 2013 - 09:49:08 GMT
- Summary changed from DOSFS problem on new ROMs to DOSFS invalid chr map doesn't account for LFN relaxed rules
The reason for the apparent difference is not a change in DOSFS (it’s been broken in this regard since version 0.79) but that the Raspberry Pi is often shipped with a copy of 3rd party filing system FAT32FS. Your Pandaboard doesn’t, so is using DOSFS.
The problem in the sample filename given is the “+” symbol. In DOS 8.3 era this was an invalid character so DOSFS used that fact to map “&” (which is valid in DOS but not in RISC OS) to “+”.
However, “+” is no longer invalid in a long filenames world, but DOSFS didn’t get changed to honour that when long filenames were added. So, when you try to load the above sample filename into !Edit the name is unmapped by DOSFS to “GCC&4.412.zip” which is then reported as not found.
Modified by Sprow (202) Tue, May 06 2014 - 20:47:28 GMT
Similar, but different name screw up described in
http://www.riscosopen.org/forum/forums/4/topics…
logged here so it’s not lost.