2009/5/18 Christian Masloch <c...@bttr-software.de>:
>>> However I don't think I'll copy this strange behaviour (at least not by
>>> default). As reported by Eric, it breaks programs like JAM (the point
>>> is,
>>> even on FAT12 and FAT16 disks) which look into the SFT to get the first
>>> cluster of a (FAT12 or FAT16) file.
>>
>> Whether you call it strange depends... I just call it a change in
>> layout, just like one was made from DOS 3.3x to DOS 4.
>
> It was however not documented (well, like most things about MS-DOS 7+) and
> unexpected, especially because the usage of these fields (or their lower
> word parts) is now incompatible to previous versions even on FAT12/16
> filesystems. (Ignoring the fact that it apparently broke SHARE.EXE, too.)

It's all undocumented, of course :) You're distinguishing undocumented
undocumented from documented undocumented...

It just happens that nobody has updated RBIL. I'm not sure about
"unexpected" because the 3.3x->4.0 change is similar, i.e. they could
have left the 16bit sector counter for disks < 32MB.

About SHARE:
http://support.microsoft.com/kb/161619
nevertheless FreeDOS has its own share which doesn't use these SFT fields.

> Does JAM read anything from the archive file (I presume it wants the first
> cluster of that file) before looking into the SFT? Also, what if it read
> exactly one sector (or more) but the cluster size was only one sector,
> either? Then it would read the second cluster instead of the first one
>  from the SFT. I wouldn't patch the program like that if I didn't know for
> sure such things wouldn't happen.

Of course it needs further testing, but I tested that reading a whole
cluster only sets the last accessed cluster to that cluster, not the
one following it. You must actually read one byte more to get that
field updated.

>> It won't help FreeDOS of course because it still uses fnodes for these
>> things instead of SFTs.
>
> Doesn't it update the SFT relative and absolute current cluster values,
> too? As far as I've understood it, fnodes should be invalidated when
> leaving DOS, so if these cluster references were saved in the fnode only,
> it wouldn't help a lot.

It should update those but doesn't at the moment.

Bart

------------------------------------------------------------------------------
Crystal Reports - New Free Runtime and 30 Day Trial
Check out the new simplified licensing option that enables 
unlimited royalty-free distribution of the report engine 
for externally facing server and web deployment. 
http://p.sf.net/sfu/businessobjects
_______________________________________________
Freedos-kernel mailing list
Freedos-kernel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freedos-kernel

Reply via email to