Import Tcl-code 8.6.8
This commit is contained in:
@@ -76,6 +76,12 @@ typedef struct {
|
||||
#define PROCESSOR_ARCHITECTURE_UNKNOWN 0xFFFF
|
||||
#endif
|
||||
|
||||
|
||||
/*
|
||||
* Windows version dependend functions
|
||||
*/
|
||||
TclWinProcs tclWinProcs;
|
||||
|
||||
/*
|
||||
* The following arrays contain the human readable strings for the Windows
|
||||
* platform and processor values.
|
||||
@@ -132,6 +138,7 @@ TclpInitPlatform(void)
|
||||
{
|
||||
WSADATA wsaData;
|
||||
WORD wVersionRequested = MAKEWORD(2, 2);
|
||||
HMODULE handle;
|
||||
|
||||
tclPlatform = TCL_PLATFORM_WINDOWS;
|
||||
|
||||
@@ -150,6 +157,14 @@ TclpInitPlatform(void)
|
||||
|
||||
TclWinInit(GetModuleHandle(NULL));
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Fill available functions depending on windows version
|
||||
*/
|
||||
handle = GetModuleHandle(TEXT("KERNEL32"));
|
||||
tclWinProcs.cancelSynchronousIo =
|
||||
(BOOL (WINAPI *)(HANDLE)) GetProcAddress(handle,
|
||||
"CancelSynchronousIo");
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -536,16 +551,13 @@ TclpSetVariables(
|
||||
TclGetProcessGlobalValue(&defaultLibraryDir), TCL_GLOBAL_ONLY);
|
||||
|
||||
if (!osInfoInitialized) {
|
||||
HANDLE handle = LoadLibraryW(L"NTDLL");
|
||||
HMODULE handle = GetModuleHandle(TEXT("NTDLL"));
|
||||
int(__stdcall *getversion)(void *) =
|
||||
(int(__stdcall *)(void *)) GetProcAddress(handle, "RtlGetVersion");
|
||||
osInfo.dwOSVersionInfoSize = sizeof(OSVERSIONINFOW);
|
||||
if (!getversion || getversion(&osInfo)) {
|
||||
GetVersionExW(&osInfo);
|
||||
}
|
||||
if (handle) {
|
||||
FreeLibrary(handle);
|
||||
}
|
||||
osInfoInitialized = 1;
|
||||
}
|
||||
GetSystemInfo(&sys.info);
|
||||
|
||||
Reference in New Issue
Block a user