From c08a1683422520d7323997014312c3c4eac12daa Mon Sep 17 00:00:00 2001 From: Jean Delvare Date: Sun, 23 Sep 2007 12:24:13 +0000 Subject: [PATCH] Use sensors_lookup_chip() wherever possible, it makes the code more readable. git-svn-id: http://lm-sensors.org/svn/lm-sensors/branches/lm-sensors-3.0.0@4845 7894878c-1315-0410-8ee3-d5d059ff63e0 --- lib/access.c | 44 ++++++++++++++++++++------------------------ 1 file changed, 20 insertions(+), 24 deletions(-) diff --git a/lib/access.c b/lib/access.c index 349775d4..5f442e6a 100644 --- a/lib/access.c +++ b/lib/access.c @@ -358,43 +358,39 @@ const char *sensors_get_adapter_name(const sensors_bus_id *bus) const sensors_feature * sensors_get_features(const sensors_chip_name *name, int *nr) { - const sensors_feature *feature_list; - int i; + const sensors_chip_features *chip; - for (i = 0; i < sensors_proc_chips_count; i++) - if (sensors_match_chip(&sensors_proc_chips[i].chip, name)) { - feature_list = sensors_proc_chips[i].feature; - while (*nr < sensors_proc_chips[i].feature_count - && sensors_get_ignored(name, &feature_list[*nr])) - (*nr)++; - if (*nr >= sensors_proc_chips[i].feature_count) - return NULL; - return &feature_list[(*nr)++]; - } - return NULL; /* end of list */ + if (!(chip = sensors_lookup_chip(name))) + return NULL; /* No such chip */ + + while (*nr < chip->feature_count + && sensors_get_ignored(name, &chip->feature[*nr])) + (*nr)++; + if (*nr >= chip->feature_count) + return NULL; + return &chip->feature[(*nr)++]; } const sensors_subfeature * sensors_get_all_subfeatures(const sensors_chip_name *name, const sensors_feature *feature, int *nr) { + const sensors_chip_features *chip; const sensors_subfeature *subfeature; - int i; + + if (!(chip = sensors_lookup_chip(name))) + return NULL; /* No such chip */ /* Seek directly to the first subfeature */ if (*nr < feature->first_subfeature) *nr = feature->first_subfeature; - for (i = 0; i < sensors_proc_chips_count; i++) - if (sensors_match_chip(&sensors_proc_chips[i].chip, name)) { - if (*nr >= sensors_proc_chips[i].subfeature_count) - return NULL; /* end of list */ - subfeature = &sensors_proc_chips[i].subfeature[(*nr)++]; - if (subfeature->mapping == feature->number) - return subfeature; - return NULL; /* end of subfeature list */ - } - return NULL; /* no matching chip */ + if (*nr >= chip->subfeature_count) + return NULL; /* end of list */ + subfeature = &chip->subfeature[(*nr)++]; + if (subfeature->mapping == feature->number) + return subfeature; + return NULL; /* end of subfeature list */ } /* Evaluate an expression */