[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [MiNT] some gem question



Hello!

long names & fsfirst: it's nice we have some Pdomain() call but FsFirst and
FsNext ignores long names completely.

No, Fsfirst/Fsnext are designed for 8+3 names only. It's not possible at all to handle long filenames through Fsfirst/Fsnext. This is how ATARI defined these interfaces as TOS was introduced.

On fat32/vfat partitions they return famous name~1.ext type

Yes, VFAT is a Microsoft extension with full backward comptibility including that every file has a 8+3 shadow name (in addition to the long name). This is a feature of the underlying filesystem.

but on ext2 they ignore(!) that files!

On ext2 there don't exist a shadow 8+3 comptibility name and it's not possible to emulate such thing without underlying filesystem support (or tons of complicated translation and caching tables). That's why the best thing you can do is to truncate the name. If you require strict TOS compatibility use VFAT (this is designed to be strictly backward compatible).

found one file... If this functions aren't supposed to work with long names,
how to list the directory content with such names? using opendir(), readdir()?
Aren't they MiNT-only calls?

Dopendir/Dreaddir/Dclosedir or better use the POSIX interface from the MiNTLib. MiNTLib also have the advantage to chck if these system calls are available and automatically fall back to Fsfirst/Fsnext. These system calls are supported by FreeMiNT, MagiC and some MetaDOS variants I think. Under TOS you don't have a filesystem with long files anyway (so Fsfirst/Fsnext are sufficient).


Regards,
Frank

--
ATARI FALCON 060 // MILAN 060
-----------------------------------------
http://www.cs.uni-magdeburg.de/~fnaumann/
e-Mail: fnaumann@freemint.de