From ef83201f7818f12ae3b36f000c04ff19e844dccd Mon Sep 17 00:00:00 2001 From: nobu Date: Tue, 22 Nov 2005 16:26:39 +0000 Subject: * file.c (test_identical): test if two files are identical. * file.c (rb_f_test): support DOSISH systems where st_ino is not reliable. fixed: [ruby-core:06672] * win32.h, win32.c (rb_w32_osid): check the running platform. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@9590 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- win32/win32.c | 28 ++++++---------------------- win32/win32.h | 15 +++++++++++++++ 2 files changed, 21 insertions(+), 22 deletions(-) (limited to 'win32') diff --git a/win32/win32.c b/win32/win32.c index 07130a46a..d9ab68a90 100644 --- a/win32/win32.c +++ b/win32/win32.c @@ -44,12 +44,6 @@ #undef close #undef setsockopt -#ifdef _M_IX86 -# define WIN95 1 -#else -# undef WIN95 -#endif - #if defined __BORLANDC__ || defined _WIN32_WCE # define _filbuf _fgetc # define _flsbuf _fputc @@ -204,10 +198,10 @@ map_errno(DWORD winerr) static char *NTLoginName; #ifdef WIN95 -DWORD Win32System = (DWORD)-1; +static DWORD Win32System = (DWORD)-1; -static DWORD -IdOS(void) +DWORD +rb_w32_osid(void) { static OSVERSIONINFO osver; @@ -219,21 +213,11 @@ IdOS(void) } return (Win32System); } - -static int -IsWin95(void) { - return (IdOS() == VER_PLATFORM_WIN32_WINDOWS); -} - -static int -IsWinNT(void) { - return (IdOS() == VER_PLATFORM_WIN32_NT); -} -#else -# define IsWinNT() TRUE -# define IsWin95() FALSE #endif +#define IsWinNT() rb_w32_iswinnt() +#define IsWin95() rb_w32_iswin95() + /* main thread constants */ static struct { HANDLE handle; diff --git a/win32/win32.h b/win32/win32.h index f3efa1794..05e61885a 100644 --- a/win32/win32.h +++ b/win32/win32.h @@ -68,6 +68,21 @@ extern "C++" { } #endif +#ifdef _M_IX86 +# define WIN95 1 +#else +# undef WIN95 +#endif + +#ifdef WIN95 +extern DWORD rb_w32_osid(void); +#define rb_w32_iswinnt() (rb_w32_osid() == VER_PLATFORM_WIN32_NT) +#define rb_w32_iswin95() (rb_w32_osid() == VER_PLATFORM_WIN32_WINDOWS) +#else +#define rb_w32_iswinnt() TRUE +#define rb_w32_iswin95() FALSE +#endif + #define WNOHANG -1 #undef getc -- cgit