summaryrefslogtreecommitdiff
path: root/udevruler.c
diff options
context:
space:
mode:
authorkay.sievers@vrfy.org <kay.sievers@vrfy.org>2004-04-02 20:10:35 -0800
committerGreg KH <gregkh@suse.de>2005-04-26 21:35:14 -0700
commitdd785ba628d89ae2f67f2fac0f36d0d2393f4109 (patch)
tree2108121f24fe97172ba588be8921182f554eabb0 /udevruler.c
parent9a689d5863f2794aa71674dce4d251bec20ef0fb (diff)
[PATCH] handle netdev in udevruler
Here we get the netdev handling for udevruler, after all information is available now in the udev database. It also fixes the way libsysfs is used.
Diffstat (limited to 'udevruler.c')
-rw-r--r--udevruler.c27
1 files changed, 7 insertions, 20 deletions
diff --git a/udevruler.c b/udevruler.c
index a13bd625a8..a065591cd1 100644
--- a/udevruler.c
+++ b/udevruler.c
@@ -222,6 +222,7 @@ static int add_all_attributes(const char *path, int level)
}
}
+ sysfs_close_directory(sysfs_dir);
return 0;
}
@@ -229,7 +230,6 @@ static int get_all_attributes(char *path)
{
struct sysfs_class_device *class_dev;
struct sysfs_class_device *class_dev_parent;
- struct sysfs_attribute *attr;
struct sysfs_device *sysfs_dev;
struct sysfs_device *sysfs_dev_parent;
char key[NAME_SIZE];
@@ -246,16 +246,6 @@ static int get_all_attributes(char *path)
return -1;
}
- /* read the 'dev' file for major/minor*/
- attr = sysfs_get_classdev_attr(class_dev, "dev");
- if (attr == NULL) {
- dbg("couldn't get the \"dev\" file");
- retval = -1;
- goto exit;
- }
-
- sysfs_close_attribute(attr);
-
/* open sysfs class device directory and get all attributes */
if (add_all_attributes(class_dev->path, level) != 0) {
dbg("couldn't open class device directory");
@@ -266,11 +256,10 @@ static int get_all_attributes(char *path)
/* get the device link (if parent exists look here) */
class_dev_parent = sysfs_get_classdev_parent(class_dev);
- if (class_dev_parent != NULL) {
- //sysfs_close_class_device(class_dev);
- class_dev = class_dev_parent;
- }
- sysfs_dev = sysfs_get_classdev_device(class_dev);
+ if (class_dev_parent != NULL)
+ sysfs_dev = sysfs_get_classdev_device(class_dev_parent);
+ else
+ sysfs_dev = sysfs_get_classdev_device(class_dev);
/* look the device chain upwards */
while (sysfs_dev != NULL) {
@@ -290,13 +279,11 @@ static int get_all_attributes(char *path)
if (sysfs_dev_parent == NULL)
break;
- //sysfs_close_device(sysfs_dev);
sysfs_dev = sysfs_dev_parent;
}
- sysfs_close_device(sysfs_dev);
exit:
- //sysfs_close_class_device(class_dev);
+ sysfs_close_class_device(class_dev);
return retval;
}
@@ -403,7 +390,7 @@ int main(int argc, char *argv[]) {
int i;
int numitems;
struct attribute **selattr;
- char text_rule[80];
+ char text_rule[255];
answer = newtRunForm(form);
if (answer == quit)