Index: src/defines.h =================================================================== RCS file: /cvsroot/squid/squid/src/defines.h,v retrieving revision 1.14 diff -u -p -r1.14 defines.h --- src/defines.h 2001/10/09 21:18:00 1.14 +++ src/defines.h 2001/10/21 09:04:35 @@ -296,15 +296,4 @@ #define O_BINARY 0 #endif -/* CygWin & Windows NT Port */ -#if defined(_SQUID_MSWIN_) || defined(_SQUID_CYGWIN_) -#define _WIN_OS_UNKNOWN 0 -#define _WIN_OS_WIN32S 1 -#define _WIN_OS_WIN95 2 -#define _WIN_OS_WIN98 3 -#define _WIN_OS_WINNT 4 -#define _WIN_OS_WIN2K 5 -#define _WIN_OS_WINXP 6 -#endif - #endif /* SQUID_DEFINES_H */ Index: src/dns_internal.c =================================================================== RCS file: /cvsroot/squid/squid/src/dns_internal.c,v retrieving revision 1.13 diff -u -p -r1.13 dns_internal.c --- src/dns_internal.c 2001/10/12 23:35:26 1.13 +++ src/dns_internal.c 2001/10/21 09:04:50 @@ -289,6 +289,7 @@ idnsParseWIN32Registry(void) break; case _WIN_OS_WIN95: case _WIN_OS_WIN98: + case _WIN_OS_WINME: /* get nameservers from the Windows 9X registry */ if (RegOpenKey(HKEY_LOCAL_MACHINE, "SYSTEM\\CurrentControlSet\\Services\\VxD\\MSTCP", Index: src/enums.h =================================================================== RCS file: /cvsroot/squid/squid/src/enums.h,v retrieving revision 1.26 diff -u -p -r1.26 enums.h --- src/enums.h 2001/10/17 12:42:59 1.26 +++ src/enums.h 2001/10/21 09:04:52 @@ -727,4 +727,21 @@ enum { VARY_CANCEL }; +/* CygWin & Windows NT Port */ +#if defined(_SQUID_MSWIN_) || defined(_SQUID_CYGWIN_) +/* + * Supported Windows OS types codes + */ +enum { + _WIN_OS_UNKNOWN, + _WIN_OS_WIN32S, + _WIN_OS_WIN95, + _WIN_OS_WIN98, + _WIN_OS_WINME, + _WIN_OS_WINNT, + _WIN_OS_WIN2K, + _WIN_OS_WINXP +}; +#endif + #endif /* SQUID_ENUMS_H */ Index: src/win32.c =================================================================== RCS file: /cvsroot/squid/squid/src/win32.c,v retrieving revision 1.3 diff -u -p -r1.3 win32.c --- src/win32.c 2001/08/16 07:39:03 1.3 +++ src/win32.c 2001/10/21 09:04:52 @@ -48,30 +48,37 @@ GetOSVersion() WIN32_OS_string = xstrdup("Windows NT"); return _WIN_OS_WINNT; } + if ((osvi.dwMajorVersion == 5) && (osvi.dwMinorVersion == 0)) { + WIN32_OS_string = xstrdup("Windows 2000"); + return _WIN_OS_WIN2K; + } if ((osvi.dwMajorVersion == 5) && (osvi.dwMinorVersion == 1)) { WIN32_OS_string = xstrdup("Windows XP"); return _WIN_OS_WINXP; } - WIN32_OS_string = xstrdup("Windows 2000"); - return _WIN_OS_WIN2K; break; case VER_PLATFORM_WIN32_WINDOWS: - if ((osvi.dwMajorVersion > 4) || - ((osvi.dwMajorVersion == 4) && (osvi.dwMinorVersion > 0))) { + if ((osvi.dwMajorVersion == 4) && (osvi.dwMinorVersion == 0)) { + WIN32_OS_string = xstrdup("Windows 95"); + return _WIN_OS_WIN95; + } + if ((osvi.dwMajorVersion == 4) && (osvi.dwMinorVersion == 10)) { WIN32_OS_string = xstrdup("Windows 98"); return _WIN_OS_WIN98; } - WIN32_OS_string = xstrdup("Windows 95"); - return _WIN_OS_WIN95; + if ((osvi.dwMajorVersion == 4) && (osvi.dwMinorVersion == 90)) { + WIN32_OS_string = xstrdup("Windows Me"); + return _WIN_OS_WINME; + } break; case VER_PLATFORM_WIN32s: WIN32_OS_string = xstrdup("Windows 3.1 with WIN32S"); return _WIN_OS_WIN32S; break; default: - return _WIN_OS_UNKNOWN; + break; } - WIN32_OS_string = xstrdup("Unknown"); + WIN32_OS_string = xstrdup("Unknown Windows system"); return _WIN_OS_UNKNOWN; }