From 933956cb499e12d0d0e5228b6de34ffa5c9a9e08 Mon Sep 17 00:00:00 2001 From: Karel Zak Date: Mon, 19 Nov 2012 10:54:58 +0100 Subject: agetty: make --autologin useful with --skip-login (prompt) The --autologin prints hostname login: username (automatic login) message. This commit allows to suppress the message at all if --skip-login (aka skip prompt) is specified. It means that agetty --skip-login --noissue --autologin foouser does completely silent autologin. Addresses: https://github.com/karelzak/util-linux/issues/21 Signed-off-by: Karel Zak --- term-utils/agetty.c | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) (limited to 'term-utils/agetty.c') diff --git a/term-utils/agetty.c b/term-utils/agetty.c index 2480f7dde..152fc9106 100644 --- a/term-utils/agetty.c +++ b/term-utils/agetty.c @@ -375,13 +375,17 @@ int main(int argc, char **argv) } chardata = init_chardata; + + if (options.autolog) { + debug("doing auto login\n"); + username = options.autolog; + } + if ((options.flags & F_NOPROMPT) == 0) { if (options.autolog) { - /* Do the auto login. */ - debug("doing auto login\n"); + /* Autologin prompt */ do_prompt(&options, &termios); printf("%s%s (automatic login)\n", LOGIN, options.autolog); - username = options.autolog; } else { /* Read the login name. */ debug("reading login name\n"); @@ -1357,7 +1361,7 @@ static void do_prompt(struct options *op, struct termios *tp) free(hn); } } - if (op->autolog == (char*)0) { + if (!op->autolog) { /* Always show login prompt. */ write_all(STDOUT_FILENO, LOGIN, sizeof(LOGIN) - 1); } -- cgit v1.2.3-55-g7522