[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