small cleanup to fix memory leaks
This commit is contained in:
parent
1e96c04de4
commit
e627392dda
|
|
@ -87,15 +87,16 @@ int main(int argc, char** argv)
|
||||||
MonocoqueSettings* ms = malloc(sizeof(MonocoqueSettings));;
|
MonocoqueSettings* ms = malloc(sizeof(MonocoqueSettings));;
|
||||||
|
|
||||||
ConfigError ppe = getParameters(argc, argv, p);
|
ConfigError ppe = getParameters(argc, argv, p);
|
||||||
if (ppe == E_SUCCESS_AND_EXIT)
|
if (ppe == E_SUCCESS_AND_EXIT || ppe == E_SOMETHING_BAD)
|
||||||
{
|
{
|
||||||
|
printf("invalid parameters\n");
|
||||||
goto cleanup_final;
|
goto cleanup_final;
|
||||||
}
|
}
|
||||||
|
|
||||||
xdgHandle xdg;
|
xdgHandle xdg;
|
||||||
if(!xdgInitHandle(&xdg))
|
if(!xdgInitHandle(&xdg))
|
||||||
{
|
{
|
||||||
fprintf(stderr, "Function xdgInitHandle() failed, is $HOME unset?");
|
fprintf(stderr, "Function xdgInitHandle() failed, is $HOME unset?\n");
|
||||||
goto cleanup_final;
|
goto cleanup_final;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -116,16 +117,18 @@ int main(int argc, char** argv)
|
||||||
cachedir_str = create_user_dir(home_dir_str, ".cache", PROGRAM_NAME);
|
cachedir_str = create_user_dir(home_dir_str, ".cache", PROGRAM_NAME);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fprintf(stderr, "applying settings\n");
|
||||||
SetSettingsFromParameters(p, ms, configdir_str, cachedir_str);
|
SetSettingsFromParameters(p, ms, configdir_str, cachedir_str);
|
||||||
freeparams(p);
|
|
||||||
free(p);
|
|
||||||
|
|
||||||
//char* config_file_str = ( char* ) malloc(1 + strlen(home_dir_str) + strlen("/.config/") + strlen("monocoque/monocoque.config"));
|
if(cachedir_str != NULL)
|
||||||
|
{
|
||||||
size_t diameters_file_sz = snprintf(NULL, 0, "%s/.config/monocoque/diameters.config", home_dir_str);
|
free(cachedir_str);
|
||||||
diameters_file_sz += 1;
|
}
|
||||||
char* diameters_file_str = ( char* ) malloc(diameters_file_sz);
|
if(configdir_str != NULL)
|
||||||
snprintf(diameters_file_str, diameters_file_sz, "%s/.config/monocoque/diameters.config", home_dir_str);
|
{
|
||||||
|
free(configdir_str);
|
||||||
|
}
|
||||||
|
fprintf(stderr, "settings applied\n");
|
||||||
|
|
||||||
slog_config_t slgCfg;
|
slog_config_t slgCfg;
|
||||||
slog_config_get(&slgCfg);
|
slog_config_get(&slgCfg);
|
||||||
|
|
@ -149,10 +152,15 @@ int main(int argc, char** argv)
|
||||||
slog_disable(SLOG_DEBUG);
|
slog_disable(SLOG_DEBUG);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
slogi("checking for diameters config");
|
||||||
|
char* diameters_file_str;
|
||||||
|
asprintf(&diameters_file_str, "%s/.config/monocoque/diameters.config", home_dir_str);
|
||||||
ms->tyre_diameter_config = strdup(diameters_file_str);
|
ms->tyre_diameter_config = strdup(diameters_file_str);
|
||||||
|
free(diameters_file_str);
|
||||||
|
|
||||||
ms->useconfig = 0;
|
ms->useconfig = 0;
|
||||||
ms->configcheck = 0;
|
ms->configcheck = 0;
|
||||||
free(diameters_file_str);
|
|
||||||
|
|
||||||
slogi("Testing monocoque config file: %s", ms->config_str);
|
slogi("Testing monocoque config file: %s", ms->config_str);
|
||||||
slogd("using diameters file %s %i", ms->tyre_diameter_config, ms->configcheck);
|
slogd("using diameters file %s %i", ms->tyre_diameter_config, ms->configcheck);
|
||||||
|
|
@ -167,7 +175,7 @@ int main(int argc, char** argv)
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
slogi("Openend monocoque configuration file");
|
slogi("Opened and validated monocoque configuration file");
|
||||||
}
|
}
|
||||||
config_destroy(&cfg);
|
config_destroy(&cfg);
|
||||||
|
|
||||||
|
|
@ -177,6 +185,7 @@ int main(int argc, char** argv)
|
||||||
{
|
{
|
||||||
int error = 0;
|
int error = 0;
|
||||||
SimDevice* tachdev = malloc(sizeof(SimDevice));
|
SimDevice* tachdev = malloc(sizeof(SimDevice));
|
||||||
|
tachdev->initialized = false;
|
||||||
SimData* sdata = malloc(sizeof(SimData));
|
SimData* sdata = malloc(sizeof(SimData));
|
||||||
DeviceSettings* ds = malloc(sizeof(DeviceSettings));
|
DeviceSettings* ds = malloc(sizeof(DeviceSettings));
|
||||||
|
|
||||||
|
|
@ -189,6 +198,7 @@ int main(int argc, char** argv)
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
int devices = 0;
|
int devices = 0;
|
||||||
|
|
||||||
devices = devinit(tachdev, 1, ds, ms);
|
devices = devinit(tachdev, 1, ds, ms);
|
||||||
if(devices < 1)
|
if(devices < 1)
|
||||||
{
|
{
|
||||||
|
|
@ -295,5 +305,7 @@ cleanup_final:
|
||||||
xdgWipeHandle(&xdg);
|
xdgWipeHandle(&xdg);
|
||||||
monocoquesettingsfree(ms);
|
monocoquesettingsfree(ms);
|
||||||
free(ms);
|
free(ms);
|
||||||
|
freeparams(p);
|
||||||
|
free(p);
|
||||||
exit(0);
|
exit(0);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue