Re: OLD kernel BUG with volume label? (MS works,2026..2027rc not)

Bart Oldeman <[email protected]> Tue, 05 Nov 2002 21:07:23 -0500 (EST)
Newsgroups gmane.os.freedos.devel
Message-ID <[email protected]>
On Wed, 6 Nov 2002, Arkady V.Belousov wrote:

> BO> I had the impression that for cx=8, the volume label was returned
> BO> regardless of the path given at ds:dx.
>
>      You wish to say, that label name always will be searched in current (or
> root) directory?

I had the impression that cx=8 always gives you THE volume label for the
drive (that is present in the root directory) and so what is at DS:DX is
ignored.

> BO> So that's not true.
>
>      What "not true"?

My impression :-)

>      Or you mean, that label should be equal to searched pattern?

That seems to be the case, yes. (That's true).

>      Hm. More tests (LABEL present in current dir, ROOT present in root):
>
> ______________O\_/_________________________________\_/O______________
> e 400 "label",0
> e 400 ".\label",0
> e 400 "root",0
> e 400 ".\root",0
> e 400 "none\label",0
> e 400 "nobe\root",0
> _____________________________________________________________________
>               O/~\                                 /~\O
>
> Result: first two=18, second two=0, last two=3. This mean, that MS-DOS at
> least not ignores wrong pathes.

Right, so the path is checked before MS-DOS checks whether bit 3 of CX is
set.

>      Not very so. :( As I already wrote, after installing Win95 on disk
> without LFNs nor labels before I get dummy label (don't remember its name),
> which seen by VC and LABEL utility and can't be deleted/renamed by them. B-\

FreeDOS LABEL is able to do that. In any case, MS-DOS 7.10 (ie, Win98
without the GUI) might behave differently from earlier MS-DOSes.

Mind you, FreeDOS LABEL directly manipulates the root directory (and it
does not support FAT32) instead of using FCBs -- at the time it was
written you could not create or delete volume labels with FCBs using the
FreeDOS kernel. Nowadays LABEL could be rewritten to be much smaller.
And then there's also the volume label in the boot sector (get/set using
int21/ah=69h or some ioctl).

> BO> It is obvious that FreeDOS should mimic MSDOS and not DRDOS here.
> BO> The only question: why does RBIL state "2" as a possible return value,
> BO> where it seems to be impossible to get it?
>
>      _Probably_ in some cases this value may be returned, especially through
> plugins like network redirectors.

Yes, DOS just passes (most?) errors by network redirectors unchanged.
Probably the implementor of the network redirector was just as confused as
I was :)

Bart