diff options
author | (no author) <(no author)@4f64403b-2f21-0410-a795-97e2b3489a10> | 2010-06-20 07:24:27 +0000 |
---|---|---|
committer | (no author) <(no author)@4f64403b-2f21-0410-a795-97e2b3489a10> | 2010-06-20 07:24:27 +0000 |
commit | e9e8d2abf175276a4e08020988b21faf58127b00 (patch) | |
tree | b37b29979f1f9f5d3fdbaa296f353dcd9c244c77 /updater/socket.cpp | |
parent | 6c12bafe804c7d20056a93c72cbe935c10802f9a (diff) |
Fixed restart updating plugins that do exist on addons
git-svn-id: https://server.scottellis.com.au/svn/mim_plugs@524 4f64403b-2f21-0410-a795-97e2b3489a10
Diffstat (limited to 'updater/socket.cpp')
-rw-r--r-- | updater/socket.cpp | 56 |
1 files changed, 38 insertions, 18 deletions
diff --git a/updater/socket.cpp b/updater/socket.cpp index 6ce31f2..745d187 100644 --- a/updater/socket.cpp +++ b/updater/socket.cpp @@ -277,62 +277,82 @@ char *CheckVersionURL(char *url, BYTE *pbPrefixBytes, int cpbPrefixBytes, BYTE * return ret;
}
-char *UpdateRequired(UpdateInternal &update_internal, bool *beta) {
+char *UpdateRequired(UpdateInternal &update_internal, bool *beta)
+{
// determine whether update is required
const char *ret = NULL;
char *ret_beta = NULL;
- if(options.use_xml_backend && update_internal.file_id != -1) {
- if(update_internal.cat == MC_UNKNOWN) {
- if(XMLDataAvailable(MC_PLUGINS)
- && (ret = FindVersion(update_internal.file_id, update_internal.update.pbVersion, update_internal.update.cpbVersion, MC_PLUGINS)))
+ if (options.use_xml_backend && update_internal.file_id != -1)
+ {
+ if( update_internal.cat == MC_UNKNOWN)
+ {
+ if (XMLDataAvailable(MC_PLUGINS) &&
+ (ret = FindVersion(update_internal.file_id, update_internal.update.pbVersion, update_internal.update.cpbVersion, MC_PLUGINS)))
{
update_internal.cat = MC_PLUGINS;
- if(strcmp(ret, "same") == 0) {
+ if(strcmp(ret, "same") == 0)
+ {
ret = 0;
}
- } else if(XMLDataAvailable(MC_LOCALIZATION)
- && (ret = FindVersion(update_internal.file_id, update_internal.update.pbVersion, update_internal.update.cpbVersion, MC_LOCALIZATION)))
+ }
+ else if (XMLDataAvailable(MC_LOCALIZATION) &&
+ (ret = FindVersion(update_internal.file_id, update_internal.update.pbVersion, update_internal.update.cpbVersion, MC_LOCALIZATION)))
{
update_internal.cat = MC_LOCALIZATION;
- if(strcmp(ret, "same") == 0) {
+ if (strcmp(ret, "same") == 0)
+ {
ret = 0;
}
}
- } else {
+ }
+ else
+ {
ret = FindVersion(update_internal.file_id, update_internal.update.pbVersion, update_internal.update.cpbVersion, update_internal.cat);
- if(ret && strcmp(ret, "same") == 0) {
+ if(ret && strcmp(ret, "same") == 0)
+ {
ret = 0;
}
}
- } else {
+ }
+ else
+ {
ret = CheckVersionURL(update_internal.update.szVersionURL, update_internal.update.pbVersionPrefix,
update_internal.update.cpbVersionPrefix, update_internal.update.pbVersion, update_internal.update.cpbVersion);
}
- if(update_internal.update_options.use_beta) {
+ if (update_internal.update_options.use_beta)
+ {
ret_beta = CheckVersionURL(update_internal.update.szBetaVersionURL, update_internal.update.pbBetaVersionPrefix,
update_internal.update.cpbBetaVersionPrefix, update_internal.update.pbVersion, update_internal.update.cpbVersion);
}
- if(ret && !ret_beta) {
+ if(ret && !ret_beta)
+ {
if(beta) *beta = false;
return _strdup(ret);
- } else if(!ret && ret_beta) {
+ }
+ else if(!ret && ret_beta)
+ {
if(beta) *beta = true;
return ret_beta;
- } else if(ret && ret_beta) {
+ }
+ else if (ret && ret_beta)
+ {
// find highest version of ret and ret_beta
DWORD vRet, vRetBeta;
VersionFromString(ret, &vRet);
VersionFromString(ret_beta, &vRetBeta);
- if(vRetBeta > vRet) {
+ if (vRetBeta > vRet)
+ {
if(beta) *beta = true;
return ret_beta;
- } else {
+ }
+ else
+ {
free(ret_beta);
if(beta) *beta = false;
return _strdup(ret);
|