[Qeymail] Darn, I can't keep up with you all even with a broadband connection - and to think that a few weeks ago people were complaining the list was dead...
IIRC there is a serious limitiation in SOME file systems, and this is a _TOTAL_ number of files on a drive, which, IIRC is 65535 (if coded correctly) and 32767 if the author forgot to use unsigned 16-bit integers. The problem is endemic to all purely FAT based systems because the structure is based on a table where each entry means physical sector (index in table) is sector X of file Y - where both X and Y are of some predetermined size - 12 bits on floppy, 16 on hard drive. The same structure is inherited into directories, because you want to alow one directory to use the whole available number of files, if needed. But, there is always a limit. I am not sure what it is for TTs HDD (and QXL.win) driver, though. For a file organisation, I would vote for inbox = directory, email = file. Basically, keep the inbox organisation in the index file - this includes any sub-folders in it, deleted files, compressed files, etc, etc. Directory and file names should obviously be kept short (36 characters to a path + name limit...), so I suppose the file names should be somehow 'hashed' or encoded from a date or just have an ever increasing number. One could encode a 32-bit number plus a few extra flag bits into 6 bit + offset ASCII. This would give us 10 character names. The index file would hold the actual structure (which email file goes where). The user could then have an option to periodically physically delete all files marked as deleted. Also, the number of files should be kept to a sane number, once this is reached, the user could be prompted to compress older files - these could simply be zipped into one larger file. This would then also have an encoded name, which would, for example, reference the newest message in the archive (for search purposes). Finally: a small 'I told you so' for the people who keep saying the file system is just fine and that 36 characters are enough. Funny how this can turn out to be a limitation even for a 'simple' application, isn't it? I TOLD YOU SO! Nasta
