diff -r 63fc2acb417a -r 809af7f7f2b9 Win32OperatingSystem.st --- a/Win32OperatingSystem.st Wed Sep 04 13:45:52 2002 +0200 +++ b/Win32OperatingSystem.st Wed Sep 04 15:27:57 2002 +0200 @@ -5438,28 +5438,28 @@ This method is mainly provided to augment error reports with some system information. (in case of system/version specific OS errors, conditional workarounds and patches - may be based upon this info). + may be based upon this info). Your application should NOT depend upon this in any way. The returned info may (or may not) contain: - #system -> some operating system identification (irix, Linux, nt, win32s ...) - #version -> OS version (some os version identification) - #release -> OS release (3.5, 1.2.1 ...) - #node -> some host identification (hostname) - #domain -> domain name (hosts domain) - #machine -> type of machine (i586, mips ...) + #system -> some operating system identification (irix, Linux, nt, win32s ...) + #version -> OS version (some os version identification) + #release -> OS release (3.5, 1.2.1 ...) + #node -> some host identification (hostname) + #domain -> domain name (hosts domain) + #machine -> type of machine (i586, mips ...) win32: - #physicalRam -> total amount of physical memory - #freeRam -> amount of free memory - #swapSize -> size of swapSpace (page file) - #freeSwap -> free bytes in swapSpace - #virtualRam -> total amount of virtual memory - #freeVirtual -> amount of free virtual memory - #memoryLoad -> percentage of memory usage (useless) - " - - |sys node rel ver mach dom mtyp brel info arch + #physicalRam -> total amount of physical memory + #freeRam -> amount of free memory + #swapSize -> size of swapSpace (page file) + #freeSwap -> free bytes in swapSpace + #virtualRam -> total amount of virtual memory + #freeVirtual -> amount of free virtual memory + #memoryLoad -> percentage of memory usage (useless) + " + + |sys node rel ver mach dom info arch physicalRam freeRam swapSize freeSwap virtualRam freeVirtual memoryLoad| @@ -5467,21 +5467,28 @@ char vsnBuffer[32]; char *s; - int winVer; + int winVer, verMinor, verMajor; DWORD vsn; SYSTEM_INFO sysInfo; MEMORYSTATUS memStatus; vsn = GetVersion(); + winVer = LOWORD(vsn); + verMinor = HIBYTE(winVer); + verMajor = LOBYTE(winVer); if (HIWORD(vsn) & 0x8000) { - s = "win95"; + s = "win95"; } else { - s = "nt"; + if ((verMajor > 5) + || ((verMajor == 5) && (verMinor >= 1))) { + s = "xp"; + } else { + s = "nt"; + } } sys = __MKSTRING(s); - winVer = LOWORD(vsn); - sprintf(vsnBuffer, "%d.%d", LOBYTE(winVer), HIBYTE(winVer)); + sprintf(vsnBuffer, "%d.%d", verMajor, verMinor); rel = __MKSTRING(vsnBuffer); GetSystemInfo(&sysInfo); @@ -5505,103 +5512,103 @@ #endif { #ifdef PROCESSOR_ARCHITECTURE_INTEL - case PROCESSOR_ARCHITECTURE_INTEL: - s = "intel"; - break; + case PROCESSOR_ARCHITECTURE_INTEL: + s = "intel"; + break; #endif #ifdef PROCESSOR_ARCHITECTURE_MIPS - case PROCESSOR_ARCHITECTURE_MIPS: - s = "mips"; - break; + case PROCESSOR_ARCHITECTURE_MIPS: + s = "mips"; + break; #endif #ifdef PROCESSOR_ARCHITECTURE_ALPHA - case PROCESSOR_ARCHITECTURE_ALPHA: - s = "alpha"; - break; + case PROCESSOR_ARCHITECTURE_ALPHA: + s = "alpha"; + break; #endif #ifdef PROCESSOR_ARCHITECTURE_PPC - case PROCESSOR_ARCHITECTURE_PPC: - s = "ppc"; - break; + case PROCESSOR_ARCHITECTURE_PPC: + s = "ppc"; + break; #endif #ifdef PROCESSOR_ARCHITECTURE_ARM - case PROCESSOR_ARCHITECTURE_ARM: - s = "arm"; - break; -#endif - default: - s = "unknown"; - break; + case PROCESSOR_ARCHITECTURE_ARM: + s = "arm"; + break; +#endif + default: + s = "unknown"; + break; } arch = __MKSTRING(s); switch (sysInfo.dwProcessorType) { #ifdef PROCESSOR_INTEL_386 - case PROCESSOR_INTEL_386: - s = "i386"; - break; + case PROCESSOR_INTEL_386: + s = "i386"; + break; #endif #ifdef PROCESSOR_INTEL_486 - case PROCESSOR_INTEL_486: - s = "i486"; - break; + case PROCESSOR_INTEL_486: + s = "i486"; + break; #endif #ifdef PROCESSOR_INTEL_PENTIUM - case PROCESSOR_INTEL_PENTIUM: - s = "i586"; - break; + case PROCESSOR_INTEL_PENTIUM: + s = "i586"; + break; #endif #ifdef PROCESSOR_INTEL_860 - case PROCESSOR_INTEL_860: - s = "i860"; - break; + case PROCESSOR_INTEL_860: + s = "i860"; + break; #endif #ifdef PROCESSOR_MIPS_R2000 - case PROCESSOR_MIPS_R2000: - s = "r2000"; - break; + case PROCESSOR_MIPS_R2000: + s = "r2000"; + break; #endif #ifdef PROCESSOR_MIPS_R3000 - case PROCESSOR_MIPS_R3000: - s = "r3000"; - break; + case PROCESSOR_MIPS_R3000: + s = "r3000"; + break; #endif #ifdef PROCESSOR_MIPS_R4000 - case PROCESSOR_MIPS_R4000: - s = "r4000"; - break; + case PROCESSOR_MIPS_R4000: + s = "r4000"; + break; #endif #ifdef PROCESSOR_ALPHA_21064 - case PROCESSOR_ALPHA_21064: - s = "alpha21064"; - break; + case PROCESSOR_ALPHA_21064: + s = "alpha21064"; + break; #endif #ifdef PROCESSOR_ARM_7TDMI - case PROCESSOR_ARM_7TDMI: - s = "arm70001"; - break; -#endif - default: - sprintf(vsnBuffer, "%d", sysInfo.dwProcessorType); - s = vsnBuffer; - break; + case PROCESSOR_ARM_7TDMI: + s = "arm70001"; + break; +#endif + default: + sprintf(vsnBuffer, "%d", sysInfo.dwProcessorType); + s = vsnBuffer; + break; } mach = __MKSTRING(s); %}. sys isNil ifTrue:[ - sys := self getSystemType. + sys := self getSystemType. ]. node isNil ifTrue:[ - node := self getHostName. + node := self getHostName. ]. dom isNil ifTrue:[ - dom := self getDomainName. + dom := self getDomainName. ]. mach isNil ifTrue:[ - mach := self getCPUType. + mach := self getCPUType. ]. arch isNil ifTrue:[ - arch := 'unknown'. + arch := 'unknown'. ]. info := IdentityDictionary new. @@ -8649,7 +8656,7 @@ ! version - ^ '$Header: /cvs/stx/stx/libbasic/Win32OperatingSystem.st,v 1.114 2002-08-21 19:01:51 cg Exp $' + ^ '$Header: /cvs/stx/stx/libbasic/Win32OperatingSystem.st,v 1.115 2002-09-04 13:27:57 cg Exp $' ! ! !Win32OperatingSystem::Win32FILEHandle methodsFor:'release'! @@ -8676,7 +8683,7 @@ ! version - ^ '$Header: /cvs/stx/stx/libbasic/Win32OperatingSystem.st,v 1.114 2002-08-21 19:01:51 cg Exp $' + ^ '$Header: /cvs/stx/stx/libbasic/Win32OperatingSystem.st,v 1.115 2002-09-04 13:27:57 cg Exp $' ! ! !Win32OperatingSystem::Win32Handle methodsFor:'io'! @@ -9063,6 +9070,6 @@ !Win32OperatingSystem class methodsFor:'documentation'! version - ^ '$Header: /cvs/stx/stx/libbasic/Win32OperatingSystem.st,v 1.114 2002-08-21 19:01:51 cg Exp $' + ^ '$Header: /cvs/stx/stx/libbasic/Win32OperatingSystem.st,v 1.115 2002-09-04 13:27:57 cg Exp $' ! ! Win32OperatingSystem initialize!