aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDenis Vlasenko <vda.linux@googlemail.com>2006-09-03 17:11:34 +0000
committerDenis Vlasenko <vda.linux@googlemail.com>2006-09-03 17:11:34 +0000
commitadff40e80d1dcfa6620b133512487b4dedda2422 (patch)
tree8d2a135177b23a6dc13947d27f4cbe07af76ec5f
parent1da6a2166621d26f84cfb9b8711ded657fdf8d37 (diff)
downloadbusybox-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.c9
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)
52int sulogin_main(int argc, char **argv) 52int 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 {