reactos/subsystems/mvdm
Hermès Bélusca-Maïto 81d5e650de
[NTVDM] Improve DOS file search implementation. Addendum to commit 86ba2faa (r67619).
We get file matches when their attributes match and we can obtain
a valid 8.3 file name. This last condition is of upmost importance.
We cannot reliably use GetShortPathName() on the filename returned by
FindFirstFile()/FindNextFile() because the result is uncertain (one
either needs to build a full path before calling the function just to
get the final short path form, or change the current working directory
to the one where the search is being made, etc.)

The Find*file() functions return anyway the short file. name (in the
cAlternateFileName member) if the file does have such 8.3 filename and
its real name (in cFileName) is longer. Otherwise, cFileName could
already be *THE* short filename because it has the correct format for
it. Check this latter case with RtlIsNameLegalDOS8Dot3() and use it if
so. Otherwise this means the file has a long filename that cannot be
converted to short filename format (because e.g. it is in a volume where
short filenames are unavailable), and we skip such files: they wouldn't
be accessible from DOS anyways.

- Doxygen-document demFileFindFirst(), demFileFindNext() and associated
  flags and structures. Update their annotations.

This fixes TurboC 2.x installation.
2021-12-03 23:26:23 +01:00
..
config [FORMATTING] Remove trailing whitespace. Addendum to 34593d93. 2021-09-13 03:52:22 +02:00
dos [CMAKE] Fix command.com livecd.lst entry. CORE-14509 2018-03-30 21:22:33 +02:00
ntvdm [NTVDM] Improve DOS file search implementation. Addendum to commit 86ba2faa (r67619). 2021-12-03 23:26:23 +01:00
pifmgr [CMAKE] Fix compilation with newer windres versions 2021-04-27 11:54:12 +02:00
samples [CMAKE] Use modules instead of shared libraries 2019-04-06 17:43:38 +02:00
vdmdbg [CMAKE] Use modules instead of shared libraries 2019-04-06 17:43:38 +02:00
wow16 [MVDM] Update some of the file headers to their new versions. 2018-03-25 16:19:29 +02:00
asm16.cmake [CMAKE][FREELDR] Take the global defines into account when compiling ASM files. 2020-03-06 22:55:12 +01:00
CMakeLists.txt Git conversion: Make reactos the root directory, move rosapps, rostests, wallpapers into modules, and delete rossubsys. 2017-10-03 07:45:34 +00:00
README.txt Git conversion: Make reactos the root directory, move rosapps, rostests, wallpapers into modules, and delete rossubsys. 2017-10-03 07:45:34 +00:00

Multiple Virtual DOS Machines - Directory description
=====================================================

- config : Miscellaneous configuration files.
- dos    : 16-bit DOS components (kernel, drivers, apps...).
- ntvdm  : NT Virtual DOS Machine.
- pifedit: ReactOS Program Information File Editor.
- pifmgr : PIF Manager Icon Resource Library.
- samples: Sample programs for NTVDM.
- vdmdbg : Virtual DOS Machine debug helper DLL (from Wine).
- wow16  : Win16 thunk files and components.