From: Denis Vlasenko Date: Sun, 3 Sep 2006 17:11:34 +0000 (-0000) Subject: sulogin: fix bug: -tNNN didn't work X-Git-Tag: 1_4_0~753 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=adff40e80d1dcfa6620b133512487b4dedda2422;p=oweals%2Fbusybox.git sulogin: fix bug: -tNNN didn't work --- 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) int sulogin_main(int argc, char **argv) { char *cp; - char *device = (char *) 0; + char *device = NULL; const char *name = "root"; int timeout = 0; @@ -68,14 +68,15 @@ int sulogin_main(int argc, char **argv) openlog("sulogin", LOG_PID | LOG_CONS | LOG_NOWAIT, LOG_AUTH); if (argc > 1) { if (strncmp(argv[1], "-t", 2) == 0) { - if (strcmp(argv[1], "-t") == 0) { + if (argv[1][2] == '\0') { /* -t NN */ if (argc > 2) { timeout = atoi(argv[2]); if (argc > 3) { device = argv[3]; } } - } else { + } else { /* -tNNN */ + timeout = atoi(&argv[1][2]); if (argc > 2) { device = argv[2]; } @@ -87,7 +88,7 @@ int sulogin_main(int argc, char **argv) close(0); close(1); close(2); - if (open(device, O_RDWR) >= 0) { + if (open(device, O_RDWR) == 0) { dup(0); dup(0); } else {