From 305cb6d6472c631301878ed1044bcfab4b65e0f9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9s?= Date: Thu, 7 Dec 2017 18:49:35 -0500 Subject: [PATCH] fix OS identification (#5880) --- frontend/drivers/platform_win32.c | 15 +++++++++------ menu/menu_displaylist.c | 2 +- 2 files changed, 10 insertions(+), 7 deletions(-) diff --git a/frontend/drivers/platform_win32.c b/frontend/drivers/platform_win32.c index d3d466a40a..64703e4dcb 100644 --- a/frontend/drivers/platform_win32.c +++ b/frontend/drivers/platform_win32.c @@ -143,12 +143,14 @@ static void frontend_win32_get_os(char *s, size_t len, int *major, int *minor) OSVERSIONINFOEX vi = {0}; vi.dwOSVersionInfoSize = sizeof(OSVERSIONINFOEX); - server = vi.wProductType != VER_NT_WORKSTATION; - - serverR2 = GetSystemMetrics(SM_SERVERR2); - GetSystemInfo(&si); + /* Available from NT 3.5 and Win95 */ + GetVersionEx((OSVERSIONINFO*)&vi); + + server = vi.wProductType != VER_NT_WORKSTATION; + serverR2 = GetSystemMetrics(SM_SERVERR2); + switch (si.wProcessorArchitecture) { case PROCESSOR_ARCHITECTURE_AMD64: @@ -166,10 +168,11 @@ static void frontend_win32_get_os(char *s, size_t len, int *major, int *minor) #else OSVERSIONINFO vi = {0}; vi.dwOSVersionInfoSize = sizeof(OSVERSIONINFO); -#endif /* Available from NT 3.5 and Win95 */ - GetVersionEx((OSVERSIONINFO*)&vi); + GetVersionEx(&vi); +#endif + if (major) *major = vi.dwMajorVersion; diff --git a/menu/menu_displaylist.c b/menu/menu_displaylist.c index a7da756206..8a60cf2735 100644 --- a/menu/menu_displaylist.c +++ b/menu/menu_displaylist.c @@ -681,7 +681,7 @@ static int menu_displaylist_parse_system_info(menu_displaylist_info_t *info) strlcpy(cpu_arch_str, "x86", sizeof(cpu_arch_str)); break; case FRONTEND_ARCH_X86_64: - strlcpy(cpu_arch_str, "x86-64", sizeof(cpu_arch_str)); + strlcpy(cpu_arch_str, "x64", sizeof(cpu_arch_str)); break; case FRONTEND_ARCH_PPC: strlcpy(cpu_arch_str, "PPC", sizeof(cpu_arch_str));