summaryrefslogtreecommitdiff
path: root/updater/socket.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'updater/socket.cpp')
-rw-r--r--updater/socket.cpp42
1 files changed, 17 insertions, 25 deletions
diff --git a/updater/socket.cpp b/updater/socket.cpp
index 0862ad8..52a82bd 100644
--- a/updater/socket.cpp
+++ b/updater/socket.cpp
@@ -281,39 +281,30 @@ char *UpdateRequired(UpdateInternal &update_internal, bool *beta)
{
// determine whether update is required
- const char *ret = NULL;
- char *ret_beta = NULL;
+ char *ret = NULL, *ret_beta = NULL;
if (options.use_xml_backend && update_internal.file_id != -1)
{
- if( update_internal.cat == MC_UNKNOWN)
+ const char * res;
+ 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)))
+ (res = 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)
- {
- ret = 0;
- }
+ if (strcmp(res, "same")) ret = _strdup(res);
}
else if (XMLDataAvailable(MC_LOCALIZATION) &&
- (ret = FindVersion(update_internal.file_id, update_internal.update.pbVersion, update_internal.update.cpbVersion, MC_LOCALIZATION)))
+ (res = 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)
- {
- ret = 0;
- }
+ if (strcmp(res, "same")) ret = _strdup(res);
}
}
else
{
- ret = FindVersion(update_internal.file_id, update_internal.update.pbVersion, update_internal.update.cpbVersion, update_internal.cat);
- if(ret && strcmp(ret, "same") == 0)
- {
- ret = 0;
- }
+ res = FindVersion(update_internal.file_id, update_internal.update.pbVersion, update_internal.update.cpbVersion, update_internal.cat);
+ if (res && strcmp(res, "same")) ret = _strdup(res);
}
}
else
@@ -328,14 +319,14 @@ char *UpdateRequired(UpdateInternal &update_internal, bool *beta)
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);
+ return ret;
}
- else if(!ret && ret_beta)
+ else if (!ret && ret_beta)
{
- if(beta) *beta = true;
+ if (beta) *beta = true;
return ret_beta;
}
else if (ret && ret_beta)
@@ -348,14 +339,15 @@ char *UpdateRequired(UpdateInternal &update_internal, bool *beta)
if (vRetBeta > vRet)
{
- if(beta) *beta = true;
+ free(ret);
+ if (beta) *beta = true;
return ret_beta;
}
else
{
free(ret_beta);
- if(beta) *beta = false;
- return _strdup(ret);
+ if (beta) *beta = false;
+ return ret;
}
}