chiark
/
gitweb
/
~ianmdlvl
/
elogind.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
85511f0
)
[PATCH] restructure code to be able to actually get remove_node() to work.
author
greg@kroah.com
<greg@kroah.com>
Thu, 10 Apr 2003 18:02:32 +0000
(11:02 -0700)
committer
Greg KH
<gregkh@suse.de>
Wed, 27 Apr 2005 04:00:44 +0000
(21:00 -0700)
udev.c
patch
|
blob
|
history
diff --git
a/udev.c
b/udev.c
index 971ac10809bedb81be6584cc64a16da5e6b91719..4bb41a869638edb48881351d51476113a89d3bec 100644
(file)
--- a/
udev.c
+++ b/
udev.c
@@
-183,21
+183,43
@@
static int create_node(char *name, char type, int major, int minor, int mode)
return retval;
}
return retval;
}
-static int
remove_node(char *nam
e)
+static int
add_node(char *device, char typ
e)
{
{
- return 0;
-}
+ char *name;
+ int major;
+ int minor;
+ int mode;
+ int retval = -EINVAL;
-static int do_it(char *action, char *name, char type, int major, int minor, int mode)
-{
- if (strcmp(action, "add") == 0)
- return create_node(name, type, major, minor, mode);
+ retval = get_major_minor(device, &major, &minor);
+ if (retval) {
+ dbg ("get_major_minor failed");
+ goto exit;
+ }
- if (strcmp(action, "remove") == 0)
- return remove_node(name);
+ name = get_name(device, major, minor);
+ if (name == NULL) {
+ dbg ("get_name failed");
+ retval = -ENODEV;
+ goto exit;
+ }
- dbg("Unknown action: %s", action);
- return -EINVAL;
+ mode = get_mode(name, device, major, minor);
+ if (mode < 0) {
+ dbg ("get_mode failed");
+ retval = -EINVAL;
+ goto exit;
+ }
+
+ return create_node(name, type, major, minor, mode);
+
+exit:
+ return retval;
+}
+
+static int remove_node(char *device)
+{
+ return 0;
}
int main(int argc, char *argv[])
}
int main(int argc, char *argv[])
@@
-205,11
+227,7
@@
int main(int argc, char *argv[])
char *subsystem;
char *action;
char *device;
char *subsystem;
char *action;
char *device;
- char *name;
char type;
char type;
- int major;
- int minor;
- int mode;
int retval = -EINVAL;
if (argc != 2) {
int retval = -EINVAL;
if (argc != 2) {
@@
-237,31
+255,14
@@
int main(int argc, char *argv[])
}
dbg("looking at %s", device);
}
dbg("looking at %s", device);
- retval = get_major_minor(device, &major, &minor);
- if (retval) {
- dbg ("get_major_minor failed");
- goto exit;
- }
-
- name = get_name(device, major, minor);
- if (name == NULL) {
- dbg ("get_name failed");
- retval = -ENODEV;
- goto exit;
- }
+ if (strcmp(action, "add") == 0)
+ return add_node(device, type);
- mode = get_mode(name, device, major, minor);
- if (mode < 0) {
- dbg ("get_mode failed");
- retval = -EINVAL;
- goto exit;
- }
+ if (strcmp(action, "remove") == 0)
+ return remove_node(device);
- retval = do_it(action, name, type, major, minor, mode);
- if (retval) {
- dbg ("do_it failed");
- goto exit;
- }
+ dbg("Unknown action: %s", action);
+ return -EINVAL;
retval = 0;
exit:
retval = 0;
exit: