- Use UNICODE markers for characters (the L'.' symbol for example) (i.e. fix code originating from Wine).
- Accept NULL Path/FileName in RtlDosSearchPath_U (fixes some ntdll_apitest tests, see after).
Fixes for RtlGetFullPathName_Ustr:
==================================
- Rework RtlGetFullPathName_Ustr by "reusing" little parts of the code of our old RtlGetFullPathName_U coming from Wine (and then make RtlGetFullPathName_U call RtlGetFullPathName_Ustr instead).
- Include the get_full_path_helper code into RtlGetFullPathName_Ustr and NT'ify it, and fix it too:
* Fix skipping trailing path separators (slashes / backslashes) at the end of pathes.
* Zero-out the destination buffer
* Fix retrieving the "Short Name" (ie. the file name) out from the given full path name.
* Fix remaining UNC path handling (ie. correctly remove trailing points, spaces, in UNC paths).
They fix the following tests:
* kernel32:FindFiles (6 failures to full success)
* ntdll:RtlDosPathNameToNtPathName_U (4 failures to full success)
* ntdll:RtlDosSearchPath_U (6 failures to full success)
* ntdll:RtlGetFullPathName_U (8 failures down to 2 failures because we don't correctly NULLify the user buffer when trimming unneeded chars)
* ntdll:RtlGetFullPathName_UstrEx (6 failures down to 2 failures for the same reasons as the previous test)
To Do: Finish to NT'ify the code originated from Wine, fix NULLification of the user buffer (when trimming unneeded characters), and "clean" the code ie. remove extra DPRINTs and added FIXMEs and NOTEs comments.
svn path=/trunk/; revision=59366
Return STATUS_OBJECT_NAME_INVALID instead of STATUS_BAD_NETWORK_PATH, fixes some tests (kernel32:FindFiles in particular).
svn path=/trunk/; revision=59364
- Make MSVC analyzer happy by initializing the event before calling IoBuildDeviceIoControlRequest. Patch by Ivan Rodionov (overclocker at list dot ru).
CORE-7328 #resolve #comment Committed, thanks.
svn path=/trunk/; revision=59352
- Add all runs dumping to aid in development.
- Do not try to add a mapping run with 0 LBN. Zero and negative LBNs are forbidden.
- Rework other tests to work as expected (plumb a hole).
svn path=/trunk/; revision=59347
Remove a spurious cast, and add a note for the pInputControl parameter of ReadConsole.
[CONSRV]
- Move some input/output console function helpers to condrv.
- The way we notify for the presence of new input data, or for console pausing/unpausing, should be reconsidered (who should do this? The console driver? The active front-end?)
svn path=/trunk/; revision=59345
- Develop a new implementation of Large MCBs. It's based on (tested-in-real-world) implementation from Captive NTFS project, which is improved, enhanced, cleaned and beautified, using our own tests.
There are some test failures and some fishy things there (you may notice them when a variable name doesn't follow ReactOS kernel functions naming convention), however it's way better than the previous implementation.
Link to the original source file: http://git.jankratochvil.net/?p=captive.git;a=blob;f=src/libcaptive/fs/mcb.c;h=62b524630af82c9124c2c9b4eea7c4f0128c2cc4;hb=HEAD
svn path=/trunk/; revision=59342
* Do not generate empty Vtbl structure for empty interfaces. Brought to you by Thomas Faber.
* Patch is pending upstream.
svn path=/trunk/; revision=59312
Move some output functions to the future console driver (i.e. for the moment, CSR console server functions SrvConsole* call ConDrv* functions).
Don't worry, internal headers will be rearranged, so that:
<ConDrv***_function_prototype>(...);
CSR_API(SrvConsole***)
{
...
}
constructions will be avoided in the future. For now, just make everything working.
svn path=/trunk/; revision=59308
Start to separate better the CSR console server layer from the pure set of console functions (which will constitute a future console driver called... condrv :) ), and rework the terminal frontends interface.
Now load the frontends by order :
- the tui if we're in console mode
- the gui, otherwise.
(It's a temporary solution)
More modifications to come !
svn path=/trunk/; revision=59297