diff options
author | Berke Viktor <bviktor@hexchat.org> | 2013-03-13 23:11:33 +0100 |
---|---|---|
committer | Berke Viktor <bviktor@hexchat.org> | 2013-03-13 23:11:33 +0100 |
commit | cd2f775fe47ee91262e17c7299e0e6b135caa86b (patch) | |
tree | 71c4466db7dc66db69ea08ae4ee05b1159b9392d /plugins | |
parent | 6bdbbbea83f3bc1c5665bfa0f1635de4b4c7a0d9 (diff) |
Separate version check for XP, we might need it during the transition to VS2012
Diffstat (limited to 'plugins')
-rw-r--r-- | plugins/upd/upd.c | 42 |
1 files changed, 34 insertions, 8 deletions
diff --git a/plugins/upd/upd.c b/plugins/upd/upd.c index ee830ce2..e1b850de 100644 --- a/plugins/upd/upd.c +++ b/plugins/upd/upd.c @@ -35,6 +35,7 @@ static char name[] = "Update Checker"; static char desc[] = "Check for HexChat updates automatically"; static char version[] = "4.0"; static const char upd_help[] = "Update Checker Usage:\n /UPDCHK, check for HexChat updates\n /UPDCHK SET delay|freq, set startup delay or check frequency\n"; +static int legacy_os = 0; static char* check_version () @@ -120,14 +121,30 @@ check_version () return "Unknown"; } - hResource = HttpOpenRequest (hConnect, - TEXT ("GET"), - TEXT ("/hexchat/hexchat/master/win32/version.txt"), - TEXT ("HTTP/1.0"), - NULL, - NULL, - INTERNET_FLAG_SECURE | INTERNET_FLAG_NO_CACHE_WRITE | INTERNET_FLAG_RELOAD | INTERNET_FLAG_NO_AUTH, - 0); + if (legacy_os) + { + hResource = HttpOpenRequest (hConnect, + TEXT ("GET"), + TEXT ("/hexchat/hexchat/master/win32/version-xp.txt"), + TEXT ("HTTP/1.0"), + NULL, + NULL, + INTERNET_FLAG_SECURE | INTERNET_FLAG_NO_CACHE_WRITE | INTERNET_FLAG_RELOAD | INTERNET_FLAG_NO_AUTH, + 0); + } + else + { + hResource = HttpOpenRequest (hConnect, + TEXT ("GET"), + TEXT ("/hexchat/hexchat/master/win32/version.txt"), + TEXT ("HTTP/1.0"), + NULL, + NULL, + INTERNET_FLAG_SECURE | INTERNET_FLAG_NO_CACHE_WRITE | INTERNET_FLAG_RELOAD | INTERNET_FLAG_NO_AUTH, + 0); + } + + if (!hResource) { InternetCloseHandle (hConnect); @@ -286,12 +303,21 @@ int hexchat_plugin_init (hexchat_plugin *plugin_handle, char **plugin_name, char **plugin_desc, char **plugin_version, char *arg) { int delay; + OSVERSIONINFOEX osvi; ph = plugin_handle; *plugin_name = name; *plugin_desc = desc; *plugin_version = version; + osvi.dwOSVersionInfoSize = sizeof (OSVERSIONINFOEX); + GetVersionEx ((OSVERSIONINFO*) &osvi); + + if (osvi.dwMajorVersion == 5) + { + legacy_os = 1; + } + /* these are required for the very first run */ delay = hexchat_pluginpref_get_int (ph, "delay"); if (delay == -1) |