* win32/win32.c (rb_w32_sysinit): initializes version info first.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@22781 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
nobu 2009-03-05 05:52:51 +00:00
Родитель b9e0c6ec08
Коммит 90b0b8d437
2 изменённых файлов: 7 добавлений и 15 удалений

Просмотреть файл

@ -1,4 +1,6 @@
Thu Mar 5 13:21:43 2009 Nobuyoshi Nakada <nobu@ruby-lang.org>
Thu Mar 5 14:52:46 2009 Nobuyoshi Nakada <nobu@ruby-lang.org>
* win32/win32.c (rb_w32_sysinit): initializes version info first.
* win32/win32.c (rb_w32_osid): always define for binary compatibility.

Просмотреть файл

@ -196,10 +196,6 @@ rb_w32_map_errno(DWORD winerr)
static const char *NTLoginName;
static OSVERSIONINFO osver;
#ifdef _M_IX86
static DWORD Win32System = (DWORD)-1;
#endif
static DWORD Win32Version = (DWORD)-1;
static void
get_version(void)
@ -207,28 +203,20 @@ get_version(void)
memset(&osver, 0, sizeof(OSVERSIONINFO));
osver.dwOSVersionInfoSize = sizeof(OSVERSIONINFO);
GetVersionEx(&osver);
Win32System = osver.dwPlatformId;
Win32Version = osver.dwMajorVersion;
}
#ifdef _M_IX86
DWORD
rb_w32_osid(void)
{
if (osver.dwPlatformId != Win32System) {
get_version();
}
return (Win32System);
return osver.dwPlatformId;
}
#endif
static DWORD
rb_w32_osver(void)
{
if (osver.dwMajorVersion != Win32Version) {
get_version();
}
return (Win32Version);
return osver.dwMajorVersion;
}
#define IsWinNT() rb_w32_iswinnt()
@ -552,6 +540,8 @@ rb_w32_sysinit(int *argc, char ***argv)
set_pioinfo_extra();
#endif
get_version();
//
// subvert cmd.exe's feeble attempt at command line parsing
//