mirror of
https://github.com/lm-sensors/lm-sensors.git
synced 2026-11-03 13:38:25 +00:00
Free bus statements from the configuration file as soon as we are done
with them. git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@5645 7894878c-1315-0410-8ee3-d5d059ff63e0
This commit is contained in:
1 parent
16dbc995ec
commit
d5bead6025
2 files changed
+30
-18
No files matched your search
+29
-18
@@ -61,18 +61,42 @@ static int sensors_parse(void)
|
||||
return res;
|
||||
}
|
||||
|
||||
static void free_bus(sensors_bus *bus)
|
||||
{
|
||||
free(bus->adapter);
|
||||
}
|
||||
|
||||
static void free_config_busses(void)
|
||||
{
|
||||
int i;
|
||||
|
||||
for (i = 0; i < sensors_config_busses_count; i++)
|
||||
free_bus(&sensors_config_busses[i]);
|
||||
free(sensors_config_busses);
|
||||
sensors_config_busses = NULL;
|
||||
sensors_config_busses_count = sensors_config_busses_max = 0;
|
||||
}
|
||||
|
||||
static int parse_config(FILE *input)
|
||||
{
|
||||
int err;
|
||||
|
||||
if (sensors_scanner_init(input))
|
||||
return -SENSORS_ERR_PARSE;
|
||||
if (sensors_scanner_init(input)) {
|
||||
err = -SENSORS_ERR_PARSE;
|
||||
goto exit_cleanup;
|
||||
}
|
||||
err = sensors_parse();
|
||||
sensors_scanner_exit();
|
||||
if (err)
|
||||
return -SENSORS_ERR_PARSE;
|
||||
if (err) {
|
||||
err = -SENSORS_ERR_PARSE;
|
||||
goto exit_cleanup;
|
||||
}
|
||||
|
||||
return 0;
|
||||
err = sensors_substitute_busses();
|
||||
|
||||
exit_cleanup:
|
||||
free_config_busses();
|
||||
return err;
|
||||
}
|
||||
|
||||
int sensors_init(FILE *input)
|
||||
@@ -107,8 +131,6 @@ int sensors_init(FILE *input)
|
||||
}
|
||||
}
|
||||
|
||||
if ((res = sensors_substitute_busses()))
|
||||
goto exit_cleanup;
|
||||
return 0;
|
||||
|
||||
exit_cleanup:
|
||||
@@ -134,11 +156,6 @@ static void free_chip_features(sensors_chip_features *features)
|
||||
free(features->feature);
|
||||
}
|
||||
|
||||
static void free_bus(sensors_bus *bus)
|
||||
{
|
||||
free(bus->adapter);
|
||||
}
|
||||
|
||||
static void free_label(sensors_label *label)
|
||||
{
|
||||
free(label->name);
|
||||
@@ -218,12 +235,6 @@ void sensors_cleanup(void)
|
||||
sensors_proc_chips = NULL;
|
||||
sensors_proc_chips_count = sensors_proc_chips_max = 0;
|
||||
|
||||
for (i = 0; i < sensors_config_busses_count; i++)
|
||||
free_bus(&sensors_config_busses[i]);
|
||||
free(sensors_config_busses);
|
||||
sensors_config_busses = NULL;
|
||||
sensors_config_busses_count = sensors_config_busses_max = 0;
|
||||
|
||||
for (i = 0; i < sensors_config_chips_count; i++)
|
||||
free_chip(&sensors_config_chips[i]);
|
||||
free(sensors_config_chips);
|
||||
|
||||
Reference in new issue
Block a user