Hi All,

There are two separate issues when using:  IF EXIST ?:\NUL 

I'm lazy and wrote up a info text file over at 
https://fd.lod.bz/redist/testing/devNUL/ 
<https://fd.lod.bz/redist/testing/devNUL/> and 

bug report at https://github.com/FDOS/freecom <https://github.com/FDOS/freecom> 
that I will just copy/paste here. 

Additional testing would be required to determine the cause of these problems. 
Since 
the same problem exists for Issue #1 under MS-DOS, an argument could be made to 

not fix that problem. As for Issue #2, it is a FreeDOS specific bug and will 
need fixed. 

:-)

Jerome

NUL Device Existence Test

https://fd.lod.bz/redist/testing/devNUL/ 
<https://fd.lod.bz/redist/testing/devNUL/>
2023-05-23

This test reveals two separate issues:

Issue 1:

Testing for the existence of a path by using the NUL device does not
work on CD/DVD drives or Network Shares. The result is always FALSE.

IF EXIST N:\NUL ECHO Drive N: exists.

See either result0.htm <https://fd.lod.bz/redist/testing/devNUL/result0.htm> or 
result1.htm <https://fd.lod.bz/redist/testing/devNUL/result1.htm>.

Although this behavior deviates from that of other drives, it is
consistent with the behavior of MS-DOS 6.22 using MSCDEX. There is
the possibility that correcting this issue has the potential to break
compatibility with any program that may rely on this behavior.

Issue 2:

Testing for the existence of a non-existing drive returns unreliable
results. This seems reproducible based on the current working directory
when the test is performed. For each test, a copy of the TEST.BAT 
<https://fd.lod.bz/redist/testing/devNUL/test.bat> was
placed in the current working directory.

result0.htm <https://fd.lod.bz/redist/testing/devNUL/result0.htm> was run with 
the current drive and directory on an internal
local drive (C:). It incorrectly shows that the non-existing drive (P:)
was found.

result1.htm <https://fd.lod.bz/redist/testing/devNUL/result1.htm> was run with 
the current drive and directory on an remote
network share (N:). It correctly shows that the non-existing drive (P:)
was not found.

Switching back and forth between drive C: and N: and running the
TEST.BAT <https://fd.lod.bz/redist/testing/devNUL/test.bat> consistently 
produces the same results.
_______________________________________________
Freedos-devel mailing list
Freedos-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freedos-devel

Reply via email to