summaryrefslogtreecommitdiff
path: root/lib/sysfs.c
diff options
context:
space:
mode:
authorkhali <khali@7894878c-1315-0410-8ee3-d5d059ff63e0>2009-02-06 13:14:36 +0000
committerkhali <khali@7894878c-1315-0410-8ee3-d5d059ff63e0>2009-02-06 13:14:36 +0000
commite842857483da87ccff18142efd20e9c31a4d51ee (patch)
tree180ab4cb705a1eb54986d51f6078773832ffb01e /lib/sysfs.c
parentc50fac60619df0dfc266aa1d11d0e998bfd736c8 (diff)
downloadlm-sensors-e842857483da87ccff18142efd20e9c31a4d51ee.tar.gz
When looking for hwmon device attributes, skip non-file sysfs entries.
This speeds things up a little. Patch from Andre Prendel. git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@5636 7894878c-1315-0410-8ee3-d5d059ff63e0
Diffstat (limited to 'lib/sysfs.c')
-rw-r--r--lib/sysfs.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/lib/sysfs.c b/lib/sysfs.c
index 7f805a80..4c383eb5 100644
--- a/lib/sysfs.c
+++ b/lib/sysfs.c
@@ -357,12 +357,15 @@ static int sensors_read_dynamic_chip(sensors_chip_features *chip,
sensors_fatal_error(__func__, "Out of memory");
while ((ent = readdir(dir))) {
- char *name = ent->d_name;
+ char *name;
int nr;
- if (ent->d_name[0] == '.')
+ /* Skip directories and symlinks */
+ if (ent->d_type != DT_REG)
continue;
+ name = ent->d_name;
+
sftype = sensors_subfeature_get_type(name, &nr);
if (sftype == SENSORS_SUBFEATURE_UNKNOWN)
continue;