|  | #include <windows.h> | 
|  | #include <stdio.h> | 
|  | #include <sys/stat.h> | 
|  |  | 
|  | void | 
|  | test (char *path) | 
|  | { | 
|  | struct stat buf; | 
|  | if (stat(path, &buf) == 0) | 
|  | printf ("OK [%s]\n", path); | 
|  | else { | 
|  | printf ("ERROR [%s]\n", path); | 
|  | abort(); | 
|  | } | 
|  | } | 
|  |  | 
|  | void | 
|  | wtest (wchar_t *path) | 
|  | { | 
|  | struct stat buf; | 
|  | if (wstat(path, &buf) == 0) | 
|  | wprintf (L"OK [%s]\n", path); | 
|  | else { | 
|  | wprintf (L"ERROR [%s]\n", path); | 
|  | abort(); | 
|  | } | 
|  | } | 
|  |  | 
|  | int | 
|  | main (int argc, char **argv) | 
|  | { | 
|  | wchar_t windir_wbuf[MAX_PATH + 1]; | 
|  | char windir_abuf[MAX_PATH + 1]; | 
|  |  | 
|  | if (GetWindowsDirectoryA(&windir_abuf[0], MAX_PATH)) | 
|  | { | 
|  | strcat (&windir_abuf[0], "\\"); | 
|  | test (&windir_abuf[0]); | 
|  | } | 
|  | test ("c:\\"); | 
|  | test ("\\"); | 
|  | test ("/"); | 
|  |  | 
|  | if (GetWindowsDirectoryW(&windir_wbuf[0], MAX_PATH)) | 
|  | { | 
|  | wcscat (&windir_wbuf[0], L"\\"); | 
|  | wtest (windir_wbuf); | 
|  | } | 
|  | wtest (L"c:\\"); | 
|  | wtest (L"\\"); | 
|  | wtest (L"/"); | 
|  | return 0; | 
|  | } |