diff options
Diffstat (limited to 'win32/uname.c')
-rw-r--r-- | win32/uname.c | 11 |
1 files changed, 5 insertions, 6 deletions
diff --git a/win32/uname.c b/win32/uname.c index 516aa5ea2..008d67a8b 100644 --- a/win32/uname.c +++ b/win32/uname.c | |||
@@ -17,12 +17,13 @@ int uname(struct utsname *name) | |||
17 | memset(&os_info, 0, sizeof(OSVERSIONINFO)); | 17 | memset(&os_info, 0, sizeof(OSVERSIONINFO)); |
18 | os_info.dwOSVersionInfoSize = sizeof(OSVERSIONINFO); | 18 | os_info.dwOSVersionInfoSize = sizeof(OSVERSIONINFO); |
19 | 19 | ||
20 | strcpy(name->release, unk); | ||
21 | strcpy(name->version, unk); | ||
22 | if (GetVersionEx(&os_info)) { | 20 | if (GetVersionEx(&os_info)) { |
23 | sprintf(name->release, "%u.%u", (unsigned int)os_info.dwMajorVersion, | 21 | sprintf(name->release, "%u.%u", (unsigned int)os_info.dwMajorVersion, |
24 | (unsigned int)os_info.dwMinorVersion); | 22 | (unsigned int)os_info.dwMinorVersion); |
25 | sprintf(name->version, "%u", (unsigned int)os_info.dwBuildNumber); | 23 | sprintf(name->version, "%u", (unsigned int)os_info.dwBuildNumber); |
24 | } else { | ||
25 | strcpy(name->release, unk); | ||
26 | strcpy(name->version, unk); | ||
26 | } | 27 | } |
27 | 28 | ||
28 | GetSystemInfo(&sys_info); | 29 | GetSystemInfo(&sys_info); |
@@ -31,11 +32,9 @@ int uname(struct utsname *name) | |||
31 | strcpy(name->machine, "x86_64"); | 32 | strcpy(name->machine, "x86_64"); |
32 | break; | 33 | break; |
33 | case PROCESSOR_ARCHITECTURE_INTEL: | 34 | case PROCESSOR_ARCHITECTURE_INTEL: |
35 | strcpy(name->machine, "i686"); | ||
34 | if (sys_info.wProcessorLevel < 6) { | 36 | if (sys_info.wProcessorLevel < 6) { |
35 | strcpy(name->machine, "i386"); | 37 | name->machine[1] = '3'; |
36 | } | ||
37 | else { | ||
38 | strcpy(name->machine, "i686"); | ||
39 | } | 38 | } |
40 | break; | 39 | break; |
41 | default: | 40 | default: |