diff options
Diffstat (limited to 'win32')
-rw-r--r-- | win32/win32.c | 28 | ||||
-rw-r--r-- | win32/win32.h | 15 |
2 files changed, 21 insertions, 22 deletions
diff --git a/win32/win32.c b/win32/win32.c index 5ec3aea4a..530cada51 100644 --- a/win32/win32.c +++ b/win32/win32.c @@ -47,12 +47,6 @@ #define bool int #endif -#ifdef _M_IX86 -# define WIN95 1 -#else -# undef WIN95 -#endif - #if defined __BORLANDC__ || defined _WIN32_WCE # define _filbuf _fgetc # define _flsbuf _fputc @@ -209,10 +203,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; @@ -224,21 +218,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 5a93f2d31..2d88de472 100644 --- a/win32/win32.h +++ b/win32/win32.h @@ -74,6 +74,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 |