1
0
mirror of https://github.com/moparisthebest/hexchat synced 2024-11-26 19:22:22 -05:00

nicer windows version string

This commit is contained in:
berkeviktor@aol.com 2010-10-09 10:55:05 +02:00
parent 42229db7ba
commit 1a1caa29fe

View File

@ -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 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.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 @@ @@ -16,11 +16,13 @@
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA * 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 #ifdef USE_DEBUG
@@ -631,22 +632,32 @@ @@ -628,26 +629,91 @@
OSVERSIONINFO osvi; get_cpu_str (void)
{
static char verbuf[64];
- OSVERSIONINFO osvi;
+ static char winver[28];
+ OSVERSIONINFOEX osvi;
SYSTEM_INFO si; SYSTEM_INFO si;
double mhz; double mhz;
+ int cpu_arch; + int cpu_arch;
osvi.dwOSVersionInfoSize = sizeof (OSVERSIONINFO); - osvi.dwOSVersionInfoSize = sizeof (OSVERSIONINFO);
+ osvi.dwOSVersionInfoSize = sizeof (OSVERSIONINFOEX);
GetVersionEx (&osvi); GetVersionEx (&osvi);
GetSystemInfo (&si); 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) + if (si.wProcessorArchitecture == 9)
+ { + {
+ cpu_arch = 64; + 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"; const char *cpuspeedstr = ( mhz > 1000 ) ? "GHz" : "MHz";
- sprintf (verbuf, "Windows %ld.%ld [i%d86/%.2f%s]", - sprintf (verbuf, "Windows %ld.%ld [i%d86/%.2f%s]",
- osvi.dwMajorVersion, osvi.dwMinorVersion, si.wProcessorLevel, - osvi.dwMajorVersion, osvi.dwMinorVersion, si.wProcessorLevel,
+ sprintf (verbuf, "Windows %ld.%ld [x%d/%.2f%s]", - cpuspeed, cpuspeedstr);
+ osvi.dwMajorVersion, osvi.dwMinorVersion, cpu_arch, - } else
cpuspeed, cpuspeedstr);
} else
- sprintf (verbuf, "Windows %ld.%ld [i%d86]", - sprintf (verbuf, "Windows %ld.%ld [i%d86]",
- osvi.dwMajorVersion, osvi.dwMinorVersion, si.wProcessorLevel); - 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; return verbuf;
} }
diff -ruN --strip-trailing-cr xchat-wdk.orig/src/common/xchat.c xchat-wdk/src/common/xchat.c 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.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 +++ xchat-wdk/src/common/xchat.c 2010-10-08 04:16:18 +0200