- does the buffer for reading the directory in chdk-dir.c need to be 16K (seems a bit big)?
No, I used a much smaller size for testing. If the directory happens to be large, reading small amounts from the card may slow things down a bit. The Canon functions use a 32kB buffer by default (and more than twice as much in worst case).
I have tested a non conform filename with German special chars. The file name is displayed in the 8.3 format as described. In this case on the SX220 no file size is displayed => ? ? ?.
Did the same (on Linux), got the same unreadable file name on camera with and without the LFN parser. ??? means that stat() could not find the file. Since the camera (without CHDK) only writes files with English letters + numbers, I'm not sure how international characters in filenames are treated.
A small cosmetic thing in gui_fselect.c: "<UpDir>" has 7 chars. Maybe "<Up>" is better for the new width of 6 chars.
I have done this in the attached v4 patch. I have also implemented the switch I mentioned earlier ("Disable long filename support" in the Misc menu).
@WW
That is best discussed in a separate thread, I guess.