In a message dated 12/01/05 06:08:07 GMT Standard Time, [EMAIL PROTECTED] writes:
> > I have a question here. > > Currently, the way directories are handled is by making a directory a > somewhat special file (file type -1, IIRC). > > Apart from that, though,a directory ia a simple file that can be > accessed more or less like any file. > > Directories contain an "entry" per file referenced in that directory. > Part of the entry is the filename of the file. > However, and that is where the original designers made a design > decision we all regret today, this filename is the ENTIRE name of the > file, (minus the device name). > > Example: you have a file called "win1_subdir1_subdir2_subdir3_myfile" > > The filename as contained in the entry in subdir3_ for this file will be: > "subdir1_subdir2_subdir3_myfile". > > As you can see, we are quickly getting to the 36 chars limit since that is > the most space a filename can take in the directory file entry. > > Wouldn't the most simple way to get around the name length limitation > be that each directory holds only the filename itself? > > Of course, each name on each directory level would still be limited to > 36 chars, but something like: > > win1_verylongsubdirname1_verylongsubdirname2_verylongsubdirnam > e3_verylongsubdirname4_verylongsubdirname5_prettylongfilename > > would be possible. > Perhaps the directory should be a new file type (-5 ot whatever) to > show that this is a new type of directory. > > Legacy applications wouldn't work in this scheme. But, let's face it, > whatever the scheme you are going to implement, they won't work > (one, because the finale filemane will be too long anyway, two because > they can't access new directories anyway). > > I had the impression that directories in QDOS were notional, not real. That is, each file, with its full name, exists on the medium whether or not a directory has been "made". Thus, if win1_op_f1 and win1_op_f2 are two files on win1_ they will immediately appear in a directory if win1_op is made a directory by make_dir win1_op. The original files are totally unchanged, but a new file with type 255 (or -1) and name win1_op is added to win1. This has the effect, through software, of all files with names starting win1_op_ being treated as though they were in a directory called win1_op. If this is true, I don't see how a filename can be shortened simply because it has notionally been put in a directory. George _______________________________________________ QL-Users Mailing List http://www.q-v-d.demon.co.uk/smsqe.htm