mirror of
https://github.com/lm-sensors/lm-sensors.git
synced 2026-10-18 11:09:32 +00:00
Now that sensors_get_ignored() is an internal function, we can change
its prototype to suit our needs better. * Pass the chip name by address. * Pass the feature directly rather than its number. * Switch to a sane convention for the returned value. * Don't check for errors that can't happen. git-svn-id: http://lm-sensors.org/svn/lm-sensors/branches/lm-sensors-3.0.0@4646 7894878c-1315-0410-8ee3-d5d059ff63e0
This commit is contained in:
1 parent
9896986247
commit
eaec35491e
1 file changed
+18
-23
+18
-23
@@ -193,34 +193,29 @@ sensors_get_label_exit:
|
||||
return 0;
|
||||
}
|
||||
|
||||
/* Looks up whether a feature should be ignored. Returns <0 on failure,
|
||||
0 if it should be ignored, 1 if it is valid. This function takes
|
||||
/* Looks up whether a feature should be ignored. Returns
|
||||
1 if it should be ignored, 0 if not. This function takes
|
||||
logical mappings into account. */
|
||||
static int sensors_get_ignored(sensors_chip_name name, int feature)
|
||||
static int sensors_get_ignored(const sensors_chip_name *name,
|
||||
const sensors_chip_feature *feature)
|
||||
{
|
||||
const sensors_chip *chip;
|
||||
const sensors_chip_feature *featureptr;
|
||||
const sensors_chip_feature *alt_featureptr;
|
||||
const char *main_feature_name;
|
||||
int i;
|
||||
|
||||
if (sensors_chip_name_has_wildcards(name))
|
||||
return -SENSORS_ERR_WILDCARDS;
|
||||
if (!(featureptr = sensors_lookup_feature_nr(&name, feature)))
|
||||
return -SENSORS_ERR_NO_ENTRY;
|
||||
if (featureptr->data.mapping == SENSORS_NO_MAPPING)
|
||||
alt_featureptr = NULL;
|
||||
else if (!(alt_featureptr =
|
||||
sensors_lookup_feature_nr(&name,
|
||||
featureptr->data.mapping)))
|
||||
return -SENSORS_ERR_NO_ENTRY;
|
||||
for (chip = NULL; (chip = sensors_for_all_config_chips(name, chip));)
|
||||
if (feature->data.mapping == SENSORS_NO_MAPPING)
|
||||
main_feature_name = NULL;
|
||||
else
|
||||
main_feature_name = sensors_lookup_feature_nr(name,
|
||||
feature->data.mapping)->data.name;
|
||||
|
||||
for (chip = NULL; (chip = sensors_for_all_config_chips(*name, chip));)
|
||||
for (i = 0; i < chip->ignores_count; i++)
|
||||
if (!strcasecmp(featureptr->data.name, chip->ignores[i].name) ||
|
||||
(alt_featureptr &&
|
||||
!strcasecmp(alt_featureptr->data.name, chip->ignores[i].name)))
|
||||
return 0;
|
||||
/* valid */
|
||||
return 1;
|
||||
if (!strcasecmp(feature->data.name, chip->ignores[i].name) ||
|
||||
(main_feature_name &&
|
||||
!strcasecmp(main_feature_name, chip->ignores[i].name)))
|
||||
return 1;
|
||||
return 0;
|
||||
}
|
||||
|
||||
/* Read the value of a feature of a certain chip. Note that chip should not
|
||||
@@ -347,7 +342,7 @@ const sensors_feature_data *sensors_get_all_features(sensors_chip_name name,
|
||||
if (sensors_match_chip(sensors_proc_chips[i].chip, name)) {
|
||||
feature_list = sensors_proc_chips[i].feature;
|
||||
while (feature_list[*nr].data.name
|
||||
&& sensors_get_ignored(name, feature_list[*nr].data.number) != 1)
|
||||
&& sensors_get_ignored(&name, &feature_list[*nr]))
|
||||
(*nr)++;
|
||||
if (!feature_list[*nr].data.name)
|
||||
return NULL;
|
||||
|
||||
Reference in new issue
Block a user