From 21ef5ce1c65383829f9278588c37dda7c5b7dc1c Mon Sep 17 00:00:00 2001 From: Elie De Brauwer Date: Fri, 20 Jul 2012 08:42:44 +0200 Subject: toys/login.c: make use of the read_passwd function offered by the passwd library. --- toys/login.c | 40 +--------------------------------------- 1 file changed, 1 insertion(+), 39 deletions(-) diff --git a/toys/login.c b/toys/login.c index ca62081a..78fa55f8 100644 --- a/toys/login.c +++ b/toys/login.c @@ -67,49 +67,11 @@ void sanitize_env() } while (*p); } -int read_password(char * buff, int buflen) -{ - int i = 0; - struct termios termio, oldtermio; - tcgetattr(0, &oldtermio); - tcflush(0, TCIFLUSH); - termio = oldtermio; - - termio.c_iflag &= ~(IUCLC|IXON|IXOFF|IXANY); - termio.c_lflag &= ~(ECHO|ECHOE|ECHOK|ECHONL|TOSTOP); - tcsetattr(0, TCSANOW, &termio); - - fputs("Password: ", stdout); - fflush(stdout); - - while (1) { - int ret = read(0, &buff[i], 1); - if ( ret < 0 ) - { - buff[0] = 0; - tcsetattr(0, TCSANOW, &oldtermio); - return 1; - } - else if ( ret == 0 || buff[i] == '\n' || - buff[i] == '\r' || buflen == i+1) - { - buff[i] = '\0'; - break; - } - i++; - } - - tcsetattr(0, TCSANOW, &oldtermio); - puts("\n"); - fflush(stdout); - return 0; -} - int verify_password(char * pwd) { char * pass; - if (read_password(toybuf, sizeof(toybuf))) + if (read_passwd(toybuf, sizeof(toybuf), "Password: ")) return 1; if (!pwd) return 1; -- cgit v1.2.3