Win32OperatingSystem.st
changeset 6740 809af7f7f2b9
parent 6726 3447154f8aa4
child 6791 ecc0ee933ef8
--- 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!