Fix return type and usage of RtlDetermineDosPathNameType_U, and use the declaration of RTL_PATH_TYPE in winternl.h instead of the wineism DOS_PATHNAME_TYPE.
See r59183 and 59184 for more information.
svn path=/trunk/; revision=59185
Fix return type and usage of RtlDetermineDosPathNameType_U, and use the declaration of RTL_PATH_TYPE in winternl.h instead of the wineism DOS_PATHNAME_TYPE.
[RTL:PATH]
- Make usage of the IS_PATH_SEPARATOR(...) macro instead of automatically checking for L'\\' or L'/', and of OBJ_NAME_PATH_SEPARATOR when checking for L'\\' only or setting the character L'\\' (just code consistency only).
<Test fixes:>
- Fix a search loop and a check in RtlpWin32NTNameToNtPathName_U (a problem of setting the pointer *PartName via the variable p existed (always 1 character shift wrt. the expected result, and now *PartName is set to NULL even if p == NewBuffer).
- Zero out an optional parameter (if present) in RtlDosSearchPath_Ustr.
- Zero out the return buffer in RtlGetFullPathName_U (function from Wine).
Those fixes ^ correct the following tests:
* ntdll:RtlDosPathNameToNtPathName_U (58 errors to 4 errors remaining due to UNC path handling).
* ntdll:RtlDosSearchPath_U (9 errors to 6 errors remaining due to the fact that our RtlDosSearchPath_U doesn't throw exception on bad arguments because it checks the validity of its arguments (pointers especially), whereas on Windows it seems it doesn't happen to be the case).
* ntdll:RtlDosSearchPath_Ustr (4 errors to full success).
* ntdll:RtlGetFullPathName_U (31 errors to 8 errors).
* ntdll:RtlGetFullPathName_UstrEx (29 errors to 6 errors).
svn path=/trunk/; revision=59183