diff options
author | Adam <you@example.com> | 2020-05-17 05:51:50 +0200 |
---|---|---|
committer | Adam <you@example.com> | 2020-05-17 05:51:50 +0200 |
commit | e611b132f9b8abe35b362e5870b74bce94a1e58e (patch) | |
tree | a5781d2ec0e085eeca33cf350cf878f2efea6fe5 /private/nw/nwlib/tpath.c | |
download | NT4.0-e611b132f9b8abe35b362e5870b74bce94a1e58e.tar NT4.0-e611b132f9b8abe35b362e5870b74bce94a1e58e.tar.gz NT4.0-e611b132f9b8abe35b362e5870b74bce94a1e58e.tar.bz2 NT4.0-e611b132f9b8abe35b362e5870b74bce94a1e58e.tar.lz NT4.0-e611b132f9b8abe35b362e5870b74bce94a1e58e.tar.xz NT4.0-e611b132f9b8abe35b362e5870b74bce94a1e58e.tar.zst NT4.0-e611b132f9b8abe35b362e5870b74bce94a1e58e.zip |
Diffstat (limited to 'private/nw/nwlib/tpath.c')
-rw-r--r-- | private/nw/nwlib/tpath.c | 238 |
1 files changed, 238 insertions, 0 deletions
diff --git a/private/nw/nwlib/tpath.c b/private/nw/nwlib/tpath.c new file mode 100644 index 000000000..831b4d5f1 --- /dev/null +++ b/private/nw/nwlib/tpath.c @@ -0,0 +1,238 @@ +/*++ + +Copyright (c) 1993 Microsoft Corporation + +Module Name: + + tpath.c + +Abstract: + + Test for canonicalization helpers. + +Author: + + Rita Wong (ritaw) 22-Feb-1993 + +Environment: + + User Mode - Win32 + +Revision History: + +--*/ + +#include <stdio.h> +#include <stdlib.h> + +#include <nt.h> +#include <ntrtl.h> +#include <nturtl.h> +#include <windef.h> +#include <winbase.h> + +#include <nwcanon.h> + +#ifndef UNICODE +#define UNICODE +#endif + +DWORD +TestCanonLocalName( + IN LPWSTR LocalName, + IN DWORD ExpectedError + ); + +DWORD +TestCanonRemoteName( + IN LPWSTR RemoteName, + IN DWORD ExpectedError + ); + +// BYTE WorkBuffer[1024]; + +void _CRTAPI1 +main( + void + ) +{ + + + TestCanonLocalName( + L"x:", + NO_ERROR + ); + + TestCanonLocalName( + L"B:", + NO_ERROR + ); + + TestCanonLocalName( + L"prn", + NO_ERROR + ); + + TestCanonLocalName( + L"lpt1:", + NO_ERROR + ); + + TestCanonLocalName( + L"*:", + ERROR_INVALID_NAME + ); + + TestCanonLocalName( + L"B", + ERROR_INVALID_NAME + ); + + TestCanonLocalName( + L"abc", + ERROR_INVALID_NAME + ); + + TestCanonLocalName( + L"\\:", + ERROR_INVALID_NAME + ); + + TestCanonRemoteName( + L"\\:", + ERROR_INVALID_NAME + ); + + TestCanonRemoteName( + L"\\\\Ser:ver", + ERROR_INVALID_NAME + ); + + TestCanonRemoteName( + L"\\\\*", + ERROR_INVALID_NAME + ); + + TestCanonRemoteName( + L"\\\\:", + ERROR_INVALID_NAME + ); + + TestCanonRemoteName( + L"\\\\Server\\Volume", + NO_ERROR + ); + + TestCanonRemoteName( + L"\\\\Server\\Volume\\Dir1\\Directory2\\ALongDirectory3", + NO_ERROR + ); + + TestCanonRemoteName( + L"\\\\Server\\Volume\\", + ERROR_INVALID_NAME + ); + + TestCanonRemoteName( + L"Server\\Volume\\", + ERROR_INVALID_NAME + ); + + TestCanonRemoteName( + L"\\\\Server\\Volu:me", + ERROR_INVALID_NAME + ); + + TestCanonRemoteName( + L"\\\\Server\\Volume\\\\Dir", + ERROR_INVALID_NAME + ); + + TestCanonRemoteName( + L"\\\\Server/Volume\\Dir", + ERROR_INVALID_NAME + ); + + TestCanonRemoteName( + L"\\\\Server\\Volume:", + ERROR_INVALID_NAME + ); + + TestCanonRemoteName( + L"\\\\Server", + ERROR_INVALID_NAME + ); + +} + + +DWORD +TestCanonLocalName( + IN LPWSTR LocalName, + IN DWORD ExpectedError + ) +{ + DWORD status; + DWORD OutputBufferLength; + LPWSTR OutputBuffer; + + + printf("\nCanon local name %ws\n", LocalName); + + status = NwLibCanonLocalName( + LocalName, + &OutputBuffer, + &OutputBufferLength + ); + + if (status == NO_ERROR) { + + printf(" got %ws, length %lu\n", OutputBuffer, OutputBufferLength); + + (void) LocalFree((HLOCAL) OutputBuffer); + } + + if (status == ExpectedError) { + printf(" SUCCESS: Got %lu as expected\n", ExpectedError); + + } + else { + printf(" FAILED: Got %lu, expected %lu\n", status, ExpectedError); + } +} + + +DWORD +TestCanonRemoteName( + IN LPWSTR RemoteName, + IN DWORD ExpectedError + ) +{ + DWORD status; + DWORD OutputBufferLength; + LPWSTR OutputBuffer; + + + printf("\nCanon remote name %ws\n", RemoteName); + + status = NwLibCanonRemoteName( + RemoteName, + &OutputBuffer, + &OutputBufferLength + ); + + if (status == NO_ERROR) { + + printf(" got %ws, length %lu\n", OutputBuffer, OutputBufferLength); + + (void) LocalFree((HLOCAL) OutputBuffer); + } + + if (status == ExpectedError) { + printf(" SUCCESS: Got %lu as expected\n", ExpectedError); + + } + else { + printf(" FAILED: Got %lu, expected %lu\n", status, ExpectedError); + } +} |