FS#8174 - path length of >= 256 bytes is problematic?

Attached to Project: Rockbox
Opened by robert jacobs (rnjacobs) - Saturday, 17 November 2007, 06:25 GMT
Last edited by Jonathan Gordon (jdgordon) - Tuesday, 24 June 2008, 10:45 GMT
Task Type Bugs
Category Operating System/Drivers
Status Closed
Assigned To No-one
Operating System All players
Severity Low
Priority Normal
Reported Version Daily build (which?)
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 0
Private No


(This is on a Nano 1st Gen)

I have a specific filename that rockbox cannot open. The same file, in any other directory, or with any other name, is openable; any arbitrary file with this name cannot be played or "Properties"ed.

The path that fails is

Rockbox can display the file in the browser (the œ is displayed as the "no glyph" character, whatever).

I discovered this is not a unicode thing (All the other files in the same dir have the same œ; plus the same non-functioning file works if e.g. copied to the root directory)

This seems to be a maximum length thing. Neither this file nor the one that is 5 characters longer (256 and 261 unicode entities long) can be played.

This may be related to the maximum of 255 ucs2 entities for a filename (not path!) on VFAT.

(I probably should use shorter filenames, but...)

Thank you very much for an awesome piece of software!
This task depends upon

Closed by  Jonathan Gordon (jdgordon)
Tuesday, 24 June 2008, 10:45 GMT
Reason for closing:  Not a Bug
Additional comments about closing:  use shorter filenames...
Comment by Linus Nielsen Feltzing (linusnielsen) - Saturday, 17 November 2007, 10:10 GMT
According to the FAT32 specification, the maximum length of a complete path (including the filename) is 255 characters. In your case, the path including the filename is 256 characters.

Comment by robert jacobs (rnjacobs) - Sunday, 18 November 2007, 05:05 GMT
Could we get a little warning regarding the problem when the user tries to select a path name that's too long? It took a while to figure this out, when the only symptoms were "I can't play it".

(Looking up the standard, microsoft seems to say "260 bytes, including the [driveletter]:\[nul]", which is a max of 256, not 255, but that's just being pedantic)