if exist K:\NUL echo K: is present
is broken in kernel 2042
the bug is caused by a change in TrueName(), where code was changed
from
cdsEntry = get_cds(result);
if (cdsEntry == NULL)
return DE_PATHNOTFND;
to
dhp = IsDevice(src);
cdsEntry = get_cds(result);
if (cdsEntry == NULL)
{
/* workaround for a device prefixed with invalid drive (e.g. "@:NUL") */
/* (MS-DOS always return drive P: for invalid drive. Why P:?) */
if (dhp)
{
result = default_drive;
cdsEntry = get_cds(result);
if (cdsEntry == NULL)
return DE_PATHNOTFND;
}
else
return DE_PATHNOTFND;
}
now truename("e:\NUL") returns not 'path not found', but 'isDevice'
probably by fixing one bug, another bug was introduced.
Unfortunately I don't know what bug the changed is supposed to fix...
who introduced this change and why?
comments?
Tom
_______________________________________________
Freedos-kernel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/freedos-kernel