nicer windows version string
This commit is contained in:
		
							parent
							
								
									42229db7ba
								
							
						
					
					
						commit
						1a1caa29fe
					
				
					 1 changed files with 75 additions and 11 deletions
				
			
		| 
						 | 
				
			
			@ -568,7 +568,7 @@ diff -ruN --strip-trailing-cr xchat-wdk.orig/src/common/text.c xchat-wdk/src/com
 | 
			
		|||
 
 | 
			
		||||
diff -ruN --strip-trailing-cr xchat-wdk.orig/src/common/util.c xchat-wdk/src/common/util.c
 | 
			
		||||
--- xchat-wdk.orig/src/common/util.c	2008-02-07 02:50:37 +0100
 | 
			
		||||
+++ xchat-wdk/src/common/util.c	2010-10-08 04:16:18 +0200
 | 
			
		||||
+++ xchat-wdk/src/common/util.c	2010-10-09 10:48:59 +0200
 | 
			
		||||
@@ -16,11 +16,13 @@
 | 
			
		||||
  * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
 | 
			
		||||
  */
 | 
			
		||||
| 
						 | 
				
			
			@ -615,16 +615,76 @@ diff -ruN --strip-trailing-cr xchat-wdk.orig/src/common/util.c xchat-wdk/src/com
 | 
			
		|||
 
 | 
			
		||||
 #ifdef USE_DEBUG
 | 
			
		||||
 
 | 
			
		||||
@@ -631,22 +632,32 @@
 | 
			
		||||
 	OSVERSIONINFO osvi;
 | 
			
		||||
@@ -628,26 +629,91 @@
 | 
			
		||||
 get_cpu_str (void)
 | 
			
		||||
 {
 | 
			
		||||
 	static char verbuf[64];
 | 
			
		||||
-	OSVERSIONINFO osvi;
 | 
			
		||||
+	static char winver[28];
 | 
			
		||||
+	OSVERSIONINFOEX osvi;
 | 
			
		||||
 	SYSTEM_INFO si;
 | 
			
		||||
 	double mhz;
 | 
			
		||||
+	int cpu_arch;
 | 
			
		||||
 
 | 
			
		||||
 	osvi.dwOSVersionInfoSize = sizeof (OSVERSIONINFO);
 | 
			
		||||
-	osvi.dwOSVersionInfoSize = sizeof (OSVERSIONINFO);
 | 
			
		||||
+	osvi.dwOSVersionInfoSize = sizeof (OSVERSIONINFOEX);
 | 
			
		||||
 	GetVersionEx (&osvi);
 | 
			
		||||
 	GetSystemInfo (&si);
 | 
			
		||||
 
 | 
			
		||||
+	switch (osvi.dwMajorVersion)
 | 
			
		||||
+	{
 | 
			
		||||
+		case 5:
 | 
			
		||||
+			switch (osvi.dwMinorVersion)
 | 
			
		||||
+			{
 | 
			
		||||
+				case 1:
 | 
			
		||||
+					strcpy (winver, "XP");
 | 
			
		||||
+					break;
 | 
			
		||||
+				case 2:
 | 
			
		||||
+					if (osvi.wProductType == VER_NT_WORKSTATION)
 | 
			
		||||
+					{
 | 
			
		||||
+						strcpy (winver, "XP x64 Edition");
 | 
			
		||||
+					}
 | 
			
		||||
+					else
 | 
			
		||||
+					{
 | 
			
		||||
+						if (GetSystemMetrics(SM_SERVERR2) == 0)
 | 
			
		||||
+						{
 | 
			
		||||
+							strcpy (winver, "Server 2003");
 | 
			
		||||
+						}
 | 
			
		||||
+						else
 | 
			
		||||
+						{
 | 
			
		||||
+							strcpy (winver, "Server 2003 R2");
 | 
			
		||||
+						}
 | 
			
		||||
+					}
 | 
			
		||||
+					break;
 | 
			
		||||
+			}
 | 
			
		||||
+			break;
 | 
			
		||||
+		case 6:
 | 
			
		||||
+			switch (osvi.dwMinorVersion)
 | 
			
		||||
+			{
 | 
			
		||||
+				case 0:
 | 
			
		||||
+					if (osvi.wProductType == VER_NT_WORKSTATION)
 | 
			
		||||
+					{
 | 
			
		||||
+						strcpy (winver, "Vista");
 | 
			
		||||
+					}
 | 
			
		||||
+					else
 | 
			
		||||
+					{
 | 
			
		||||
+						strcpy (winver, "Server 2008");
 | 
			
		||||
+					}
 | 
			
		||||
+					break;
 | 
			
		||||
+				case 1:
 | 
			
		||||
+					if (osvi.wProductType == VER_NT_WORKSTATION)
 | 
			
		||||
+					{
 | 
			
		||||
+						strcpy (winver, "7");
 | 
			
		||||
+					}
 | 
			
		||||
+					else
 | 
			
		||||
+					{
 | 
			
		||||
+						strcpy (winver, "Server 2008 R2");
 | 
			
		||||
+					}
 | 
			
		||||
+					break;
 | 
			
		||||
+			}
 | 
			
		||||
+			break;
 | 
			
		||||
+	}
 | 
			
		||||
+
 | 
			
		||||
+	if (si.wProcessorArchitecture == 9)
 | 
			
		||||
+	{
 | 
			
		||||
+		cpu_arch = 64;
 | 
			
		||||
| 
						 | 
				
			
			@ -641,17 +701,21 @@ diff -ruN --strip-trailing-cr xchat-wdk.orig/src/common/util.c xchat-wdk/src/com
 | 
			
		|||
 		const char *cpuspeedstr = ( mhz > 1000 ) ? "GHz" : "MHz";
 | 
			
		||||
-		sprintf (verbuf, "Windows %ld.%ld [i%d86/%.2f%s]",
 | 
			
		||||
-					osvi.dwMajorVersion, osvi.dwMinorVersion, si.wProcessorLevel, 
 | 
			
		||||
+		sprintf (verbuf, "Windows %ld.%ld [x%d/%.2f%s]",
 | 
			
		||||
+					osvi.dwMajorVersion, osvi.dwMinorVersion, cpu_arch, 
 | 
			
		||||
 					cpuspeed, cpuspeedstr);
 | 
			
		||||
 	} else
 | 
			
		||||
-					cpuspeed, cpuspeedstr);
 | 
			
		||||
-	} else
 | 
			
		||||
-		sprintf (verbuf, "Windows %ld.%ld [i%d86]",
 | 
			
		||||
-			osvi.dwMajorVersion, osvi.dwMinorVersion, si.wProcessorLevel);
 | 
			
		||||
+		sprintf (verbuf, "Windows %ld.%ld [x%d]",
 | 
			
		||||
+			osvi.dwMajorVersion, osvi.dwMinorVersion, cpu_arch);
 | 
			
		||||
 
 | 
			
		||||
-
 | 
			
		||||
+		sprintf (verbuf, "Windows %s [x%d/%.2f%s]",	winver, cpu_arch, cpuspeed, cpuspeedstr);
 | 
			
		||||
+	}
 | 
			
		||||
+	else
 | 
			
		||||
+	{
 | 
			
		||||
+		sprintf (verbuf, "Windows %s [x%d]", winver, cpu_arch);
 | 
			
		||||
+	}
 | 
			
		||||
+	
 | 
			
		||||
 	return verbuf;
 | 
			
		||||
 }
 | 
			
		||||
 
 | 
			
		||||
diff -ruN --strip-trailing-cr xchat-wdk.orig/src/common/xchat.c xchat-wdk/src/common/xchat.c
 | 
			
		||||
--- xchat-wdk.orig/src/common/xchat.c	2008-06-08 09:58:58 +0200
 | 
			
		||||
+++ xchat-wdk/src/common/xchat.c	2010-10-08 04:16:18 +0200
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		
		Reference in a new issue