diff --git a/CHANGES b/CHANGES index 7ce02044..e6c6df19 100644 --- a/CHANGES +++ b/CHANGES @@ -3,6 +3,7 @@ lm_sensors CHANGES file SVN HEAD Library: Fix a memory leak on error + Speed up sensors_get_ignored() a bit Module i2c-piix4: Add ATI SB700 support (2.6 backport) diff --git a/lib/access.c b/lib/access.c index c886c91b..d7acb793 100644 --- a/lib/access.c +++ b/lib/access.c @@ -196,10 +196,8 @@ int sensors_get_ignored(sensors_chip_name name, int feature) const sensors_chip *chip; const sensors_chip_feature *featureptr; const sensors_chip_feature *alt_featureptr; - int i, res; + int i; - /* Default: valid */ - res = 1; if (sensors_chip_name_has_wildcards(name)) return -SENSORS_ERR_WILDCARDS; if (!(featureptr = sensors_lookup_feature_nr(name.prefix, feature))) @@ -212,13 +210,12 @@ int sensors_get_ignored(sensors_chip_name name, int feature) return -SENSORS_ERR_NO_ENTRY; 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)) - return 0; /* Exact match always overrules! */ - else if (alt_featureptr && - !strcasecmp(alt_featureptr->data.name, - chip->ignores[i].name)) - res = 0; - return res; + 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; } /* Read the value of a feature of a certain chip. Note that chip should not