mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-05-20 03:30:27 +02:00
Update uname implementation in posix-w32
* libguile/posix-w32.c (uname): Update to modern processors (ia64 and x86_64) and OS versions (Vista to Windows 10). Delete trailing whitespace.
This commit is contained in:
parent
da0ee4dc80
commit
d87915f25d
1 changed files with 27 additions and 8 deletions
|
@ -59,13 +59,26 @@ uname (struct utsname *uts)
|
||||||
strcpy (uts->sysname, "Windows NT3x"); /* NT3x */
|
strcpy (uts->sysname, "Windows NT3x"); /* NT3x */
|
||||||
else if (osver.dwMajorVersion == 5 && osver.dwMinorVersion < 1)
|
else if (osver.dwMajorVersion == 5 && osver.dwMinorVersion < 1)
|
||||||
strcpy (uts->sysname, "Windows 2000"); /* 2k */
|
strcpy (uts->sysname, "Windows 2000"); /* 2k */
|
||||||
else if (osver.dwMajorVersion >= 5)
|
else if (osver.dwMajorVersion < 6)
|
||||||
strcpy (uts->sysname, "Windows XP"); /* XP */
|
strcpy (uts->sysname, "Windows XP"); /* XP */
|
||||||
|
else if (osver.dwMajorVersion == 6)
|
||||||
|
{
|
||||||
|
if (osver.dwMinorVersion < 1)
|
||||||
|
strcpy (uts->sysname, "Windows Vista"); /* Vista */
|
||||||
|
else if (osver.dwMinorVersion < 2)
|
||||||
|
strcpy (uts->sysname, "Windows 7"); /* Windows 7 */
|
||||||
|
else if (osver.dwMinorVersion < 3)
|
||||||
|
strcpy (uts->sysname, "Windows 8"); /* Windows 8 */
|
||||||
|
else if (osver.dwMinorVersion < 4)
|
||||||
|
strcpy (uts->sysname, "Windows 8.1"); /* Windows 8.1 */
|
||||||
|
}
|
||||||
|
else if (osver.dwMajorVersion >= 10)
|
||||||
|
strcpy (uts->sysname, "Windows 10 or later"); /* Windows 10 and later */
|
||||||
os = WinNT;
|
os = WinNT;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case VER_PLATFORM_WIN32_WINDOWS: /* Win95, Win98 or WinME */
|
case VER_PLATFORM_WIN32_WINDOWS: /* Win95, Win98 or WinME */
|
||||||
if ((osver.dwMajorVersion > 4) ||
|
if ((osver.dwMajorVersion > 4) ||
|
||||||
((osver.dwMajorVersion == 4) && (osver.dwMinorVersion > 0)))
|
((osver.dwMajorVersion == 4) && (osver.dwMinorVersion > 0)))
|
||||||
{
|
{
|
||||||
if (osver.dwMinorVersion >= 90)
|
if (osver.dwMinorVersion >= 90)
|
||||||
|
@ -86,11 +99,11 @@ uname (struct utsname *uts)
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
sprintf (uts->version, "%ld.%02ld",
|
sprintf (uts->version, "%ld.%02ld",
|
||||||
osver.dwMajorVersion, osver.dwMinorVersion);
|
osver.dwMajorVersion, osver.dwMinorVersion);
|
||||||
|
|
||||||
if (osver.szCSDVersion[0] != '\0' &&
|
if (osver.szCSDVersion[0] != '\0' &&
|
||||||
(strlen (osver.szCSDVersion) + strlen (uts->version) + 1) <
|
(strlen (osver.szCSDVersion) + strlen (uts->version) + 1) <
|
||||||
sizeof (uts->version))
|
sizeof (uts->version))
|
||||||
{
|
{
|
||||||
strcat (uts->version, " ");
|
strcat (uts->version, " ");
|
||||||
|
@ -110,10 +123,13 @@ uname (struct utsname *uts)
|
||||||
case PROCESSOR_ARCHITECTURE_MIPS:
|
case PROCESSOR_ARCHITECTURE_MIPS:
|
||||||
strcpy (uts->machine, "mips");
|
strcpy (uts->machine, "mips");
|
||||||
break;
|
break;
|
||||||
|
case PROCESSOR_ARCHITECTURE_IA64:
|
||||||
|
strcpy (uts->machine, "ia64");
|
||||||
|
break;
|
||||||
case PROCESSOR_ARCHITECTURE_INTEL:
|
case PROCESSOR_ARCHITECTURE_INTEL:
|
||||||
/*
|
/*
|
||||||
* dwProcessorType is only valid in Win95 and Win98 and WinME
|
* dwProcessorType is only valid in Win95 and Win98 and WinME
|
||||||
* wProcessorLevel is only valid in WinNT
|
* wProcessorLevel is only valid in WinNT
|
||||||
*/
|
*/
|
||||||
switch (os)
|
switch (os)
|
||||||
{
|
{
|
||||||
|
@ -137,13 +153,16 @@ uname (struct utsname *uts)
|
||||||
default:
|
default:
|
||||||
strcpy (uts->machine, "unknown");
|
strcpy (uts->machine, "unknown");
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
break;
|
||||||
|
case PROCESSOR_ARCHITECTURE_AMD64:
|
||||||
|
strcpy (uts->machine, "x86_64");
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
strcpy (uts->machine, "unknown");
|
strcpy (uts->machine, "unknown");
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
sLength = sizeof (uts->nodename) - 1;
|
sLength = sizeof (uts->nodename) - 1;
|
||||||
GetComputerName (uts->nodename, &sLength);
|
GetComputerName (uts->nodename, &sLength);
|
||||||
return 0;
|
return 0;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue