diff options
author | Denis Vlasenko <vda.linux@googlemail.com> | 2006-09-03 17:11:34 +0000 |
---|---|---|
committer | Denis Vlasenko <vda.linux@googlemail.com> | 2006-09-03 17:11:34 +0000 |
commit | adff40e80d1dcfa6620b133512487b4dedda2422 (patch) | |
tree | 8d2a135177b23a6dc13947d27f4cbe07af76ec5f | |
parent | 1da6a2166621d26f84cfb9b8711ded657fdf8d37 (diff) | |
download | busybox-w32-adff40e80d1dcfa6620b133512487b4dedda2422.tar.gz busybox-w32-adff40e80d1dcfa6620b133512487b4dedda2422.tar.bz2 busybox-w32-adff40e80d1dcfa6620b133512487b4dedda2422.zip |
sulogin: fix bug: -tNNN didn't work
-rw-r--r-- | loginutils/sulogin.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/loginutils/sulogin.c b/loginutils/sulogin.c index 921f34e0f..b7e3f6fbf 100644 --- a/loginutils/sulogin.c +++ b/loginutils/sulogin.c | |||
@@ -52,7 +52,7 @@ static void catchalarm(int ATTRIBUTE_UNUSED junk) | |||
52 | int sulogin_main(int argc, char **argv) | 52 | int sulogin_main(int argc, char **argv) |
53 | { | 53 | { |
54 | char *cp; | 54 | char *cp; |
55 | char *device = (char *) 0; | 55 | char *device = NULL; |
56 | const char *name = "root"; | 56 | const char *name = "root"; |
57 | int timeout = 0; | 57 | int timeout = 0; |
58 | 58 | ||
@@ -68,14 +68,15 @@ int sulogin_main(int argc, char **argv) | |||
68 | openlog("sulogin", LOG_PID | LOG_CONS | LOG_NOWAIT, LOG_AUTH); | 68 | openlog("sulogin", LOG_PID | LOG_CONS | LOG_NOWAIT, LOG_AUTH); |
69 | if (argc > 1) { | 69 | if (argc > 1) { |
70 | if (strncmp(argv[1], "-t", 2) == 0) { | 70 | if (strncmp(argv[1], "-t", 2) == 0) { |
71 | if (strcmp(argv[1], "-t") == 0) { | 71 | if (argv[1][2] == '\0') { /* -t NN */ |
72 | if (argc > 2) { | 72 | if (argc > 2) { |
73 | timeout = atoi(argv[2]); | 73 | timeout = atoi(argv[2]); |
74 | if (argc > 3) { | 74 | if (argc > 3) { |
75 | device = argv[3]; | 75 | device = argv[3]; |
76 | } | 76 | } |
77 | } | 77 | } |
78 | } else { | 78 | } else { /* -tNNN */ |
79 | timeout = atoi(&argv[1][2]); | ||
79 | if (argc > 2) { | 80 | if (argc > 2) { |
80 | device = argv[2]; | 81 | device = argv[2]; |
81 | } | 82 | } |
@@ -87,7 +88,7 @@ int sulogin_main(int argc, char **argv) | |||
87 | close(0); | 88 | close(0); |
88 | close(1); | 89 | close(1); |
89 | close(2); | 90 | close(2); |
90 | if (open(device, O_RDWR) >= 0) { | 91 | if (open(device, O_RDWR) == 0) { |
91 | dup(0); | 92 | dup(0); |
92 | dup(0); | 93 | dup(0); |
93 | } else { | 94 | } else { |