Use existing general processing code instead of hardcoding a less general result.
Signed-off-by: Lukas Platz lukas.platz@bluescan.de --- dlls/ntdll/path.c | 6 ++---- dlls/ntdll/tests/path.c | 1 + 2 files changed, 3 insertions(+), 4 deletions(-)
diff --git a/dlls/ntdll/path.c b/dlls/ntdll/path.c index 11483fabba..c41dc81a20 100644 --- a/dlls/ntdll/path.c +++ b/dlls/ntdll/path.c @@ -268,7 +268,6 @@ DOS_PATHNAME_TYPE WINAPI RtlDetermineDosPathNameType_U( PCWSTR path ) */ ULONG WINAPI RtlIsDosDeviceName_U( PCWSTR dos_name ) { - static const WCHAR consoleW[] = {'\','\','.','\','C','O','N',0}; static const WCHAR auxW[] = {'A','U','X'}; static const WCHAR comW[] = {'C','O','M'}; static const WCHAR conW[] = {'C','O','N'}; @@ -284,9 +283,8 @@ ULONG WINAPI RtlIsDosDeviceName_U( PCWSTR dos_name ) case UNC_PATH: return 0; case DEVICE_PATH: - if (!strcmpiW( dos_name, consoleW )) - return MAKELONG( sizeof(conW), 4 * sizeof(WCHAR) ); /* 4 is length of \.\ prefix */ - return 0; + start = dos_name + 4; /* skip device path prefix */ + break; case ABSOLUTE_DRIVE_PATH: case RELATIVE_DRIVE_PATH: start = dos_name + 2; /* skip drive letter */ diff --git a/dlls/ntdll/tests/path.c b/dlls/ntdll/tests/path.c index 195dea37e8..e744c10649 100644 --- a/dlls/ntdll/tests/path.c +++ b/dlls/ntdll/tests/path.c @@ -114,6 +114,7 @@ static void test_RtlIsDosDeviceName_U(void) { "\\.\CON", 8, 6, TRUE }, /* fails on win8 */ { "\\.\con", 8, 6, TRUE }, /* fails on win8 */ { "\\.\CON2", 0, 0 }, + { "\\.\com3", 8, 8 }, { "", 0, 0 }, { "\\foo\nul", 0, 0 }, { "c:\nul:", 6, 6 },