mirror of
https://gitea.wildfiregames.com/0ad/0ad.git
synced 2026-07-22 23:35:44 +00:00
2e5d9452aa
move all except user-specified config choices out of config.h and into appropriate headers CPU_IA32 -> ARCH_IA32 wsdl: disable use of ddraw (will soon be replaced by WMI) use shared_ptr without namespace qualifier (it's in tr1) debug_warn -> debug_assert(0) LIB_API to allow building as DLL smart pointers: reduce use of .get() cache_adt: use map instead of hash_map (avoids needing a hashCompare class). also remove spurious warning code_annotation.h: better cassert implementation move FPS measuring portion of timer.cpp into frequency_filter move include of memory headers into mmgr.h (to avoid errors, we must ensure they are included if mmgr is used) posix_filesystem.h: move definition of mkdir to wfilesystem stl: disable iterator checks in release mode wmi: fix COM init bug, use smart pointers wutil: add code to get DLL module handle (if compiled as such), add WinScopedLock timer: fix handling of raw ticks This was SVN commit r5517.
47 lines
1.2 KiB
C++
47 lines
1.2 KiB
C++
#include "precompiled.h"
|
|
#include "wutsname.h"
|
|
|
|
#include "../wutil.h"
|
|
|
|
#include "wposix_internal.h"
|
|
|
|
|
|
int uname(struct utsname* un)
|
|
{
|
|
static OSVERSIONINFO vi;
|
|
vi.dwOSVersionInfoSize = sizeof(OSVERSIONINFO);
|
|
GetVersionEx(&vi);
|
|
|
|
// OS implementation name
|
|
strcpy_s(un->sysname, ARRAY_SIZE(un->sysname), wutil_WindowsFamily());
|
|
|
|
// release info
|
|
const char* vs = vi.szCSDVersion;
|
|
int sp;
|
|
if(sscanf(vs, "Service Pack %d", &sp) == 1)
|
|
sprintf(un->release, "SP %d", sp);
|
|
|
|
// version
|
|
sprintf(un->version, "%s.%lu", wutil_WindowsVersionString(), vi.dwBuildNumber & 0xFFFF);
|
|
|
|
// node name
|
|
DWORD buf_size = sizeof(un->nodename);
|
|
DWORD last_err = GetLastError();
|
|
BOOL ok = GetComputerName(un->nodename, &buf_size);
|
|
// GetComputerName sets last error even on success - suppress.
|
|
if(ok)
|
|
SetLastError(last_err);
|
|
else
|
|
debug_assert(0); // GetComputerName failed
|
|
|
|
// hardware type
|
|
static SYSTEM_INFO si;
|
|
GetSystemInfo(&si);
|
|
if(si.wProcessorArchitecture == PROCESSOR_ARCHITECTURE_AMD64)
|
|
strcpy_s(un->machine, ARRAY_SIZE(un->machine), "AMD64");
|
|
else
|
|
strcpy_s(un->machine, ARRAY_SIZE(un->machine), "IA-32");
|
|
|
|
return 0;
|
|
}
|