summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--wsutil/os_version_info.c22
1 files changed, 20 insertions, 2 deletions
diff --git a/wsutil/os_version_info.c b/wsutil/os_version_info.c
index 5c79de3250..a007904e1d 100644
--- a/wsutil/os_version_info.c
+++ b/wsutil/os_version_info.c
@@ -351,7 +351,24 @@ get_os_version_info(GString *str)
case 3:
g_string_append_printf(str, is_nt_workstation ? "Windows 8.1" : "Windows Server 2012 R2");
break;
- case 4:
+ default:
+ g_string_append_printf(str, "Windows NT, unknown version %lu.%lu",
+ info.dwMajorVersion, info.dwMinorVersion);
+ break;
+ }
+ break;
+ } /* case 6 */
+
+ case 10: {
+ gboolean is_nt_workstation;
+
+ if (system_info.wProcessorArchitecture == PROCESSOR_ARCHITECTURE_AMD64)
+ g_string_append(str, "64-bit ");
+ else if (system_info.wProcessorArchitecture == PROCESSOR_ARCHITECTURE_INTEL)
+ g_string_append(str, "32-bit ");
+ is_nt_workstation = (info.wProductType == VER_NT_WORKSTATION);
+ switch (info.dwMinorVersion) {
+ case 0:
g_string_append_printf(str, is_nt_workstation ? "Windows 10" : "Windows Server 10");
break;
default:
@@ -360,7 +377,8 @@ get_os_version_info(GString *str)
break;
}
break;
- } /* case 6 */
+ } /* case 10 */
+
default:
g_string_append_printf(str, "Windows NT, unknown version %lu.%lu",
info.dwMajorVersion, info.dwMinorVersion);